为了账号安全,请及时绑定邮箱和手机立即绑定

为什么所有这些新语言都有自己的网络服务器?

为什么所有这些新语言都有自己的网络服务器?

Go
qq_花开花谢_0 2023-04-04 14:32:15
我有点老派,我看到的第一种网络编程语言是 PHP,每个人都将它与 Apache 一起使用。那时,我还知道 ASP,它与 Microsoft IIS 一起使用,后来又知道在 IIS 上运行的 ASP.NET。时间过去了,我去了 ERP 世界,当我回来时(几个月前),我知道 Golang 和 Node.js,令我惊讶的是他们有自己的网络服务器。我可以看到内置 Web 服务器的许多优点,但是,每个应用程序都需要重写它们的 Web 服务器规则(我最近在需要使用 Express.js 设置 HTTPS 服务器时遇到了这个问题)。在努力理解 HTTP 协议的所有细微差别之后,我问自己:我是否以错误的方式进行操作?如果我在开发服务器中创建的所有许可规则都投入生产?也许这是一个无用的担心。但也许我正在创建一个可以被天真的黑客利用的脆弱服务器。使用像 Apache 这样的服务器更难滥用安全规则,因为开发和生产环境的设置是明确的。如果规则是硬编码的(就像在 Node 或 Go 中一样),不知情的开发人员可以在生产中使用开发规则,并且在事情发生之前没有人会看到它。有什么想法吗?
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

Web服务器侧重于速度能力和计算能力。不管java、php web多好,有多少老公司在用,只要一门新的语言能提供更快的速度和更好的能力,比如go,就会有更多的程序员上手。

顺便说一句,在go中运行一个web服务器真的是一件很容易的事情。它的构建速度更快,运行速度也稍快。而且go中的例程帮助web服务器更好地服务于数百万的客户端请求,这是旧的web语言很难做到的。


查看完整回答
反对 回复 2023-04-04
?
翻阅古今

TA贡献1780条经验 获得超5个赞

由于很多原因,包括 tls 终止,您仍然可以在 golang 网关前面使用 nginx 或 apache。

但是服务到服务的通信可能很适合直接与服务通信,而且 golang http 网络服务器速度很快。它还支持开箱即用的 http2。Go 利用其“goroutines”来减少操作系统的开销,以同时处理许多请求。


查看完整回答
反对 回复 2023-04-04
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

Node.jsGolang没有自己的 web 服务器,这些只是一些 lib 包实现 http 协议并打开一些端口来提供服务。

春天的网络

Nginx/IIS/Apache是真正的服务器,Web 服务器只是其中的一个组件。

我觉得Spring应该满足完整的应用场景,包括/gateway/security/route/package/runtime manage/等等。

但是当我们有一些不同的语言平台时,我们需要 nginx/apache/spring gateway/zuul/或其他来路由它们。


查看完整回答
反对 回复 2023-04-04
  • 3 回答
  • 0 关注
  • 67 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信