最近开发者 谁在后面 从谷歌浏览器的Web浏览器中,发布了有关支持HTTP / 3协议的消息 Chrome Canary的实验版本 它实现了一个插件来启用基于QUIC的HTTP。
QUIC协议本身是五年前添加到浏览器中的 从那时起,它就被用于优化Google服务的工作。 同时,Chrome中使用的Google QUIC版本在细节上与IETF规范的版本有所不同,但是现在实现是同步的。
Google Chrome Canary成为第一个(可用)集成(非常)实验性的浏览器 #QUIC 和HTTP / 3支持!
添加标志“ –enable-quic –quic-version = h3-23”,您应该会在devtools中看到“ http / 2 + quic / 99”,实际上是http3的变相! pic.twitter.com/5Fhui46h3x
-罗宾·马克思(@programmingart) 2019 年 9 月 19 日
重要的是要强调 Google开发了QUIC(快速UDP Internet连接) 自2013年以来,作为Web的TCP + TLS软件包的替代方案,解决了TCP连接的配置和协商时间过长的问题,并消除了数据传输过程中数据包丢失的延迟。
QUIC是对UDP协议的补充,该协议支持多个连接的多路复用 并提供等同于TLS / SSL的加密方法。
有问题的协议已经内置在Google的服务器基础结构中,是Chrome的一部分,计划包含在Firefox中,并且已被积极用于在Google的服务器上满足客户的请求。
QUIC突出的主要特征包括:
- 类似于TLS的高安全性(实际上,QUIC提供了通过UDP使用TLS的能力)
- 流完整性控制,可防止数据包丢失
- 能够立即建立连接的能力(0-RTT,在大约75%的情况下,可以在发送连接设置数据包后立即传输数据),并确保在发送请求和接收回复之间的最小延迟(RTT,往返时间)
- 重传数据包时不使用相同的序列号,这避免了确定接收数据包时的歧义并消除了超时
- 丢失数据包只会影响与其关联的流的传递,并且不会停止通过当前连接并行传输的流中数据的传递
- 纠错工具可最大程度地减少因丢失数据包的重传而造成的延迟。
- 使用特殊的数据包级纠错码可以减少需要重新传输丢失的数据包数据的情况。
- 块的密码限制与QUIC数据包的限制保持一致,从而减少了数据包丢失对后续数据包内容解码的影响
- 阻止TCP队列没有问题
- 支持连接标识符,从而减少了为移动客户端建立重新连接的时间
- 能够连接高级机制以控制连接过载
还需要强调的是,它利用了预测每个方向上的带宽的技术 确保最佳的数据包传输强度,防止其达到观察到数据包丢失的拥塞状态;
以及 与TCP相比具有显着的性能和性能提升。 对于YouTube之类的视频服务,QUIC在观看视频时将重新缓冲操作减少了30%。
HTTP / 3协议将QUIC的使用标准化为HTTP / 2的传输。 要启用HTTP / 3和23个IETF规范草案的QUIC版本,必须在运行Chrome时使用选项“ –enable-quic –quic-version = h3-23”,然后在打开quic测试站点时运行。rocks:4433 in在开发人员工具的网络检查模式下,HTTP / 3活动将显示为“ http / 2 + quic / 99”。
与并行HTTP连接丢失的数据包相比,许多连接中只有1个将被停止,这意味着QUIC可以支持无序传递,因此丢失的数据包的影响较小。
Si 您想了解更多 关于这个,你可以咨询 以下链接.