HTTP/3 和 QUIC:基于 UDP 的新协议

2018 年 11 月 18日以来,关于新的 HTTP/3 互联网协议的讨论很多,负责开发和推广互联网标准的机构IETF(互联网工程任务组)在曼谷讨论采用新的互联网草案。

随后传来消息,2019 年 9 月 27 日GoogleMozillaCloudflare正式宣布采用新的 HTTP/3 协议;应该强调的是,谷歌和 Facebook 此前已分别从 2015 年和 2017 年宣布正在使用它。

这标志着网络的决定性变化,网络变得更加现代更快、更安全

您是否有兴趣了解HTTP/3 的工作原理新协议做了哪些改进以及如何检查它是否处于活动状态?那么就继续阅读文章,让我们一起来探讨一下这个话题吧!

从 HTTP 到 HTTP/3:这就是一切的开始

HTTP是“超文本传输​​协议”的缩写,或者是一种应用层协议,用作在网络上传输信息的系统

正如我提到的,HTTP 的第一个版本是0.9 可以追溯到20 世纪 80 年代末。

然而, HTTP /1.1于 1999 年问世,但提出了一个称为HOLB的问题:队头阻塞:本质上是当由通过网络传输的有限且不同的数据序列组成的数据包列表被阻塞时发生的现象由第一个.如果请求很慢,那么所有后续请求都会受到惩罚,并且

从那时起,引入了许多改进,并按以下顺序进行:HTTP/2、最初由 Google 开发的QUIC(快速 UDP 互联网连接),最后是HTTP/3,也称为HTTP-over-QUIC

利用最新的邮件数据库行业电子邮件列表增强 行业电邮清单 您的外展范围。我们准确的数据可确保您的电话营销活动接触到合适的人。不要在错误的线索上浪费时间 – 从今天开始使用高质量的联系人

HTTP/2 的优点

感谢HTTP/2,引入了多路复用支持,这意味着可以同时处理多个请求,从而不会形成队列。因此,这些页面摆脱了下载线性进展限制

这样,大型 JavaScript 资源不一定会成为所 确保软件实施顺利的 3 件事 有等待下载的静态资源的瓶颈。如果我们还考虑到HTTP/2 标头的HPACK 压缩以及传输数据的默认二进制格式,我们不禁同意HTTP/2是一种高效的协议

一般来说,如果没有连接问题, HTTP/2工作得很好,但同样正确的是,由于所有请求都是通过单个 TCP 连接发送的,而后者并不总是具有出色的性能,因此如果出现以下情况,页面的整个加载可能会受到影响:条件并不理想。

根据HTTP/2肯定会在非阻塞下载管道服务器推送方面带来重大改进。通过这种方式,可以克服 TCP 协议的一些限制,从而显着减少请求-响应和握手 DZ 线索 周期的数量。

HTTP/2 的缺点

然而,必须指出的是,主要的浏览器实现为了利用 HTTP/2 的优势,强制网站实施 SSL 加密,这导致了计算过载,并没有体现出与速度相关的优势。

此外,NGINX实现没有服务器推送功能。这是一个缺点,因为 NGINX 模块与 Apache drop-in 模块不同,因此无法复制,您需要使用这些模块重新编译 NGINX。

提到的问题已经解决了,从整个协议栈来看,我们发现主要的限制是在比 HTTP/2更低的层面上。

QUIC带来的改进

QUICHTTP/2 的后继者,也是HTTP/3的支柱(来源。QUIC 于 2012 年左右由 Google 开发,在主要平台正式采用之前已在 Chrome 浏览器Youtube上进行分发

这种分布不仅对于能够研究和观察协议至关重要,而且对于能够在将其提交给IETF审查之前完善设计(随后形成 QUIC 工作组)至关重要。

QUIC 的目标

但QUIC 设定的目标是什么?主要挑战是改进连接管理以解决任何阻塞提高速度,具体来说:限制防止提高数据包的发送效率,同时注意与响应速度相关的参数。

关于往返时间,发送信号之间的时间加上接收确认所需的时间,如果您有最佳的互联网连接,客户端和物理上靠近的远程服务器之间的延迟在 10-50 毫秒之间:每个传输的数据包将需要这个时间才能收到。

如果所联系的服务器位于另一个大陆,因此物理上很远,或者如果通过移动电话运营商使用较慢的连接进行浏览,情况就会发生变化。结果是延迟损失大于或等于100 ms。这一切都是“因为”旅行的距离。

更不用说,由于无线电频率和中间网络的原因,移动网络必须在电话和服务器之间遭受100-150 毫秒(4G/LTE 连接为 50 毫秒)的进一步延迟。

数百毫秒对您来说似乎可以忽略不计吗?谷歌不这么认为,并通过数据和统计数据证明了响应速度和响应能力对于网站来说至关重要,可以保证用户获得优质的用户体验并防止访问者逃往其他网站。

因此,考虑到移动设备进行长距离通信,QUIC由于统一发送和接收的差异,可以节省数百毫秒

QUIC有哪些优势?

QUIC的优点很多,并且作为HTTP/3 所基于的协议,检查它们对于了解网络如何发展非常重要。正如 Nicholas Marmonti 在他关于 QUIC 和 HTTP/3 的解释的那样,这些改进是不同的。现在,让自己舒服一些,因为我们将一起分析它们。

同时,继续讨论往返时间,对延迟特别敏感的服务(例如网络搜索)可以从零往返连接中获益。访问 HTTPS 页面需要与服务器进行2/3 个周期的通信才能在浏览器下载页面之前建立安全连接。

quic tcp tls 连接比较
  1. 重新连接所需时间
  2. 首次连接服务器所需时间

有了QUIC,事情就发生了变化,因为协议的设计使得如果客户端已经与服务器通信,它就可以开始发送数据而无需等待时间。结果?客户端-服务器-客户端响应速度显着加快。即使像 Google 这样经过优化的网站也能获得3% 的提升!

QUIC所做的改进让人想起TCP+TLS+HTTP/2,但实现在UPD 网络协议上。无论如何,TPC 是操作系统内核的一个组成部分,因此进行重大更改无疑是复杂的。您应该致力于对系统范围产生影响并且通常缓慢部署到服务器的版本。

另一方面,QUIC通过将其操作转移到用户空间而无需更新系统内核,从而减少了限制。此外,基于 UPD,它可以保证连接到慢速或高延迟网络的用户的最佳性能,因为与以前使用的协议相比,它处理请求的方式不同。

除了更快的连接之​​外,QUIC 带来的其他重要优势还有:

  • 多路复用支持;
  • FEC包,前向纠错,备份的一种;
  • 拥塞控制
  • 身份验证加密以防御可能的攻击;
  • 兼容性更强;
如何检查QUIC是否处于活动状态

至此,在看到 QUIC 介绍的优点和改进之后,我相信您会想知道如何检查它是否处于活动状态

该过程非常简单:只需使用Google Chrome 的并加载页面,记住保持网络面板打开。现在查看“协议”列并注意是否存在字符串: http/2+quic/43。如果是,则意味着该域正在使用 QUIC

值得记住的是,如果您使用Siteground作为托管,您可能已经在使用QUIC,因为对服务器上托管的网站的支持已经激活了一段时间。

另一方面,Cloudfare表示,其客户将能够通过仪表板中的选项激活 HTTP/3 以启用支持。因此,当用户从支持 HTTP/3 的客户端访问网站时,将使用新协议而不是旧版本自动建立连接。

HTTP/3 未来的网络已经到来!

如果您已经走到这一步,您将能够同意我对 HTTP/3 重要性的看法,HTTP/3的改进使Web 成为一个日益高效的环境,并预示着遥远的未来!

用几句话来总结一下所报道的内容,HTTP/3 是 HTTP 的最新版本,HTTP 是一种将网页内容从服务器传输到客户端的协议:它是一个不同于其所有前身的协议,它引入了基本的协议创新。协议被完全重写,使用QUIC代替TCP,并使用TLS加密协议。

这些变化旨在使网络更快更安全,并改善每个用户的浏览体验 。如果您对 HTTP/3 采用仍有疑问,并想了解如何充分利用这项创新,让您的网站性能更加出色,但又不知道从哪里开始,请按下面的按钮,让我们一起来了解一下。立即开始!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部