代码之家  ›  专栏  ›  技术社区  ›  Aldo

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

  •  3
  • Aldo  · 技术社区  · 6 年前

    我有点老了,我看到的第一个网络编程语言是PHP,每个人都用它和Apache。那时,我也知道ASP,它和微软的IIS一起使用,后来,ASP.NET,也运行在IIS上。

    随着时间的推移,我去了ERP世界,当我回来的时候(几个月前),我认识了Golang和节点.js令我惊讶的是,他们有自己的网络服务器。

    我可以看到内置web服务器的许多优点,但是,每个应用程序都需要重写它们的web服务器规则(我最近在需要使用快递.js).

    在努力理解了HTTP协议的所有细微差别之后,我问自己:如果我做得不对呢?如果我在dev服务器中创建的所有许可规则都投入生产?也许这是一个无用的担心。但也许我正在创建一个脆弱的服务器,可以被一个天真的黑客利用。

    使用Apache这样的服务器很难滥用安全规则,因为开发和生产环境的设置是显式的。如果规则是硬编码的(就像它们在Node或Go中一样),一个不知情的开发人员可以在产品中使用开发规则,在事情发生之前没有人会看到它。

    3 回复  |  直到 6 年前
        1
  •  1
  •   fwhez    6 年前

    web服务器关注的是速度容量和计算容量。无论java或phpweb有多好,也不管有多少老公司在使用它们,只要一种新的语言能够提供更快的速度和更好的容量(比如go),就会有更多的程序员去使用它。

    顺便说一下,在go中运行一个web服务器真的很容易东西。它建筑速度更快跑步。然后呢go中的例程帮助web服务器更好地服务于数百万个客户端请求,而旧的web语言很难做到这一点。

        2
  •  1
  •   jklaw90    6 年前

    但是服务到服务的通信可以很好地直接与服务通信,而且golanghttpwebserver速度很快。它还支持http2开箱即用。Go利用其“goroutines”减少操作系统的开销,以便一次处理多个请求。

        3
  •  0
  •   Xian Shu    6 年前

    节点.js 戈兰尼

    就像 弹簧网 .

    是真正的服务器,web服务器只是其中的一个组件。

    我想 春天 应该满足完整的应用场景,包括/gateway/security/route/package/runtime manage/等等。