Firefox nightly builds 现在支持 HTTP/3

В 每晚构建 Firefox 将构成 Firefox 72 的基础,计划于 7 月 XNUMX 日发布, 添加 HTTP/3 协议支持。 默认情况下,HTTP/3 处于禁用状态,需要在 about:config 中激活“network.http.http3.enabled”选项。

Firefox 中的 HTTP/3 支持基于 Mozilla 开发的项目 内科,它提供了 QUIC 协议的客户端和服务器实现。 HTTP/3 和 QUIC 支持的组件代码是用 Rust 编写的。
从客户端软件来看,对 HTTP/3 的实验性支持也已经实现 添加 在 Chrome 和curl 中,对于服务器,它以以下形式提供 模组 对于 nginx 和 测试服务器 基于图书馆 蛋饼 (履行 来自 Cloudflare 的 Rust 中的 QUIC 和 HTTP/3)。 测试 HTTP/3 客户端的操作 发射了 几个测试站点,其中大多数在 Firefox 中还不能正确打开(HTTP/3 处于阶段 规范草案 并且没有完全标准化)。

回想一下,HTTP/3 标准化了 QUIC 协议作为 HTTP/2 传输的使用。 协议 QUIC (快速 UDP 互联网连接)由 Google 自 2013 年起开发,作为 Web 的 TCP+TLS 组合的替代方案,解决了 TCP 连接建立和协商时间长的问题,并消除了数据传输过程中数据包丢失时的延迟。 QUIC是UDP协议的扩展,支持多个连接的复用,并提供相当于TLS/SSL的加密方法。

产品特点 快速:

  • 类似于 TLS 的高安全性(本质上 QUIC 提供了通过 UDP 使用 TLS 的能力);
  • 流量完整性控制,防止丢包;
  • 能够立即建立连接(0-RTT,在大约 75% 的情况下,可以在发送连接建立数据包后立即传输数据)并在发送请求和接收响应之间提供最小的延迟(RTT,往返时间);
  • 重传数据包时不使用相同的序列号,这可以避免识别接收到的数据包时出现歧义并消除超时;
  • 数据包丢失仅影响与其关联的流的传送,并且不会停止通过当前连接传输的并行流中数据的传送;
  • 纠错功能可最大限度地减少因重传丢失数据包而导致的延迟。 在数据包级别使用特殊的纠错码可以减少需要重传丢失的数据包数据的情况。
  • 密码块边界与QUIC数据包边界对齐,减少丢包对后续数据包内容解码的影响;
  • 不存在TCP队列阻塞的问题;
  • 支持连接标识符,减少移动客户端重新建立连接的时间;
  • 连接高级连接拥塞控制机制的可能性;
  • 采用单向吞吐量预测技术,确保数据包以最佳速率发送,防止数据包拥塞而导致丢包;
  • 可感知的 发展 与 TCP 相比的性能和吞吐量。 对于 YouTube 等视频服务,QUIC 已被证明可以将观看视频时的重新缓冲操作减少 30%。

来源: opennet.ru

添加评论