跳到主要内容

HTTP/3 与 QUIC

作为现代 Web 的未来,HTTP/3 和其底层协议 QUIC 正在改变我们与万维网的互动方式。它们特别致力于解决 HTTP/2 时代暴露出的延迟和多路复用相关问题。

什么是 HTTP/3?

HTTP/3 是 HTTP 协议的第三个主要版本。它并没有改动 HTTP 的基本语义(如方法、状态码和头部字段),但彻底改变了其实现 底层传输协议

什么是 QUIC (Quick UDP Internet Connections)?

QUIC 是由 Google 开发的一种基于 UDP 的新型多路复用传输协议。HTTP/3 就是运行在 QUIC 之上的。

核心特性

  • 基于 UDP: 弃用了 TCP。
  • 低延迟连接建立: 合并了传输握手与加密握手 (TLS 1.3),通常只需 1 个 RTT (Round Trip Time)。
  • 连接迁移 (Connection Migration): 如果您的网络连接从 Wi-Fi 切换到 4G,连接也不会断开,因为它不以 IP 为标识。
  • 改进的多路复用: 各个流之间互不重叠。

为什么要换成 HTTP/3?

HTTP/2 虽然提高了效率,但仍然依赖 TCP,这导致了两个主要问题:

1. 线头阻塞 (Head-of-Line Blocking, HOL)

在 HTTP/2 中,如果 TCP 连接中的一个数据包丢失,整个连接都会被阻塞,直到该包被重传。QUIC 解决了这个问题:即使某个流的数据丢失,其他流仍然可以独立传输

2. TLS 握手延迟

HTTP/3 将 TLS 1.3 深度集成到了握手过程中。


HTTP/1.1 vs HTTP/2 vs HTTP/3 对比

特性HTTP/1.1HTTP/2HTTP/3
传输协议TCPTCPUDP (QUIC)
多路复用串行 (或连接池)二进制流 (存在 HOL)完全并发 (无 HOL)
连接建立TCP 握手 + TLS 握手TCP 握手 + TLS 握手1-RTT 组合握手
安全性可选 TLS事实上强制 TLS强制内置 TLS 1.3
移动支持较弱较弱连接迁移 (IP 改变不断开)

结论

HTTP/3 提供了极佳的网络稳定性,尤其是在弱网(丢包率高)或移动端切换网络的环境下。目前,大部分现代浏览器(如 Chrome, Edge, Safari)和知名 CDN(如 Cloudflare)均已默认支持。