HTTP/3

协议和标准
最新的HTTP版本,基于QUIC传输协议,改进了连接建立和丢失恢复。
← 返回词汇表

什么是 HTTP/3?

HTTP/3 是 HTTP 的第三个主要版本,使用 QUIC 作为传输协议而不是 TCP。它消除了队头阻塞,降低连接建立延迟,并改善不可靠网络中的性能。

HTTP/3 与 HTTP/2 对比

特性HTTP/2HTTP/3
传输协议TCPQUIC(基于 UDP)
TLS独立层集成在 QUIC 中
握手TCP + TLS(2-3 RTT)0-1 RTT
队头阻塞存在于 TCP 层已消除
连接迁移不支持支持
丢包影响阻塞所有流仅影响对应流

HTTP/3 如何工作

HTTP/2 over TCP:

Client Server

│─────────── SYN ────────────►│

│◄────────── SYN-ACK ─────────│

│─────────── ACK ────────────►│ TCP Handshake

│─────────── ClientHello ────►│

│◄────────── ServerHello ─────│ TLS Handshake

│─────────── Finished ───────►│

│◄────────── Finished ────────│

│─────────── HTTP Request ───►│ (3 RTT minimum)

HTTP/3 over QUIC:

Client Server

│─────── Initial + ClientHello ─►│

│◄────── Initial + ServerHello ──│

│─────── HTTP Request ──────────►│ (1 RTT)

With 0-RTT Resumption:

│─────── 0-RTT + HTTP Request ──►│ (0 RTT!)

QUIC 协议特性

特性优势
基于 UDP避免 TCP 队头阻塞
集成 TLS 1.3始终加密,握手更快
连接 ID可跨 IP 地址变化保持连接
流多路复用独立传输各个流
前向纠错减少重传需求

连接迁移

Mobile Network Switch (HTTP/2):

WiFi ──► Connection drops ──► New TCP connection ──► Start over

Mobile Network Switch (HTTP/3):

WiFi ──► Switch to cellular ──► Same QUIC connection continues

(Connection ID persists across IP changes)

采用情况

平台HTTP/3 支持
Chrome87+ (2020)
Firefox88+ (2021)
Safari14+ (2020)
Edge87+ (2020)
Cloudflare完整支持
AWS CloudFront完整支持
nginx1.25.0+(实验性)

性能改进

最佳实践

1. 与 HTTP/2 一起部署:浏览器可以平滑回退

2. 使用 Alt-Svc 标头:公布 HTTP/3 可用性

3. 正确配置 UDP:确保防火墙允许 QUIC 流量

4. 监控性能:比较不同协议版本的指标

5. 测试移动场景:HTTP/3 在蜂窝网络中优势明显

服务器配置示例

# Alt-Svc header to advertise HTTP/3

Alt-Svc: h3=":443"; ma=86400

HTTP/3 代表 Web 传输的发展方向,尤其能为移动网络和高延迟网络用户提供更快、更可靠的连接。

将知识付诸实践

使用 DomScan 的 API 检查域名可用性、健康状态等。