pau*_*901 2 networking http backend node.js http2
作为一点背景知识,我刚刚完成了训练营并开始深入研究网络和网络服务器。
在阅读了有关 OSI 模型、TCP/IP 模型和 HTTP 的一些信息后,我发现这些理论知识与我在现实生活中所做的之间存在某种差距。
例如,我用在 node.js 上运行的服务器构建了几个项目。直到最近我才发现它们在 HTTP 1.1 上运行。
我看到的所有教程课程或其他示例都使用 HTTP 1.1 而不是 HTTP 2。
理论上,HTTP2 在处理大量数据方面做得更好,而且确实比 HTTP 1.1 更安全。
尽管存在一些缺点,但 http2 似乎是 http 的高级形式,并且在过去几年中已经成熟。
我很难理解为什么服务器语言(或 node.js 的运行时)仍然使用 HTTP 1.1 而不是 2。
谁能解释一下?
很多人都没有意识到新的变化。或者,有些人不受您提到的这些更改的影响,并且认为不需要重写他们的代码(尤其是当 HTTP 3.0 正在开发中时)。
以IP地址为例。IPv6 已经推出一段时间了,虽然有些人在使用它,但 65% 的互联网使用旧技术 IPv4。这是因为旧技术完美运行,许多系统都是古老的。
(作为参考,这里是 Google 的IPv6 使用图)。
现在,在您的情况下,HTTP 2 与 HTTP 1。许多人甚至不知道 http2 已过时。就我而言,出于方便,我使用标准 HTTP 模块。你说的安全漏洞对很多人影响不大,而且HTTP 3出来了,为什么人们会切换?一方面,我将等待 HTTP 3。然而,随着时间的推移,越来越多的人将开始采用 HTTP 2 标准。
此外,正如许多人所注意到的那样,理论与您所谓的“现实生活中的用法”之间存在很大差异。这方面的一个例子是 Axios,这是 Node.js 生态系统的一个主要请求模块。它几乎没有维护,这里有几个主要问题似乎永远不会被修复,构建失败,并且有 222 个问题从 2015 年开始,但在我写这篇文章的时候,有 16,434,719 人下载它一周。许多人没有完全调查就看不到这些问题,或者这些错误不会影响他们的使用。
| 归档时间: |
|
| 查看次数: |
387 次 |
| 最近记录: |