网络技术

HTTP/3 与 QUIC 协议:下一代 Web 传输协议深度解析

✎ -- 字 🕐 -- 分钟
字号

HTTP 演进史

  • HTTP/1.1:文本协议,队头阻塞(同一连接请求串行)
  • HTTP/2:二进制分帧,多路复用,但 TCP 队头阻塞仍在
  • HTTP/3:基于 QUIC/UDP,彻底消除队头阻塞

QUIC 核心优势

TCP 问题:
  Stream 1: [P1] [P2] [丢失P3] [P4等待...]
  Stream 2: [P5] [P6等待...]  // Stream 2 被 Stream 1 阻塞!

QUIC 解决:
  Stream 1: [P1] [P2] [丢失P3] [P4]  // P3 重传不影响 P4
  Stream 2: [P5] [P6] [P7]            // Stream 2 完全不受影响!

0-RTT 与 1-RTT 握手

协议握手次数延迟
TLS 1.2 over TCP2-RTT~200ms
TLS 1.3 over TCP1-RTT~100ms
QUIC (首次)1-RTT~100ms
QUIC (重连)0-RTT~0ms!

Nginx 启用 HTTP/3

# nginx.conf (需要 nginx-quic 分支)
server {
    listen 443 quic reuseport;
    listen 443 ssl;
    server_name peaktea.cn;

    ssl_protocols TLSv1.3;
    ssl_certificate /path/cert.pem;

    add_header Alt-Svc 'h3=":443"; ma=86400';
}

迁移策略

  • HTTP/3 通过 Alt-Svc 头优雅降级,客户端不支持时自动退回 HTTP/2
  • CDN 已广泛支持 (Cloudflare、AWS CloudFront)
  • 内网微服务通信可直接全量切 QUIC