首页/安全/加密与证书速查/QUIC 协议要点(HTTP/3 传输层)
TLS 与 HTTPS60 条

QUIC 协议要点(HTTP/3 传输层)

QUIC 是基于 UDP 的通用传输协议,把 TLS 1.3 集成进握手(默认全程加密),提供 0-RTT/1-RTT 建连、无队头阻塞的多路复用与连接迁移;HTTP/3 运行在 QUIC 之上。

加密与证书速查安全更新于 2026-10-13

QUIC 是什么

QUIC 是基于 UDP 的通用传输协议,它把 TLS 1.3 集成进自身的握手流程,因此建连与加密几乎同步完成。它提供 0-RTT 与 1-RTT 建连、无队头阻塞的多路复用,以及连接迁移能力(切换网络时连接不断)。HTTP/3 就运行在 QUIC 之上。对运维而言最大的变化是它跑在 UDP 上:防火墙与安全组必须放行 UDP,否则客户端会静默回退。

基本信息

传输UDP,HTTP/3 默认使用 443,同时保留 TCP 443 用于回退
加密握手即 TLS 1.3,传输层首部也受保护,可观测的明文字段很少
特性无队头阻塞的多路复用、0-RTT 建连、连接迁移
部署前置防火墙与安全组放行 UDP,中间设备策略需提前确认
观测限制抓包看不到明文首部,分析需要协议专用工具
服务端支持需要较新版本的 Nginx 并配置 QUIC 监听

典型使用场景

  • 弱网优化:移动端在 WiFi 与蜂窝之间切换时依靠连接迁移避免重连
  • 首屏加速:0-RTT 建连减少握手往返,对短请求收益明显
  • 高并发页面:无队头阻塞让多路复用真正发挥作用
  • 灰度上线:先在部分域名启用,重点观察回退比例与错误率
  • 排查未启用:确认 UDP 是否被防火墙或中间设备拦截

检查与测试

检查与测试
# 确认 curl 是否带 HTTP/3 支持
curl -V | grep -i http3
# 用 HTTP/3 发起请求,观察是否成功与响应头
curl --http3 -sI https://example.com | head -5
# 服务端需要较新版本 nginx 并配置 QUIC 监听
# UDP 没有握手过程,端口可达性通常要靠业务请求实测

与 TCP 方案对照

维度QUIC(HTTP/3)TCP 承载(HTTP/2)
传输层UDPTCP
多路复用无队头阻塞TCP 层仍可能队头阻塞
建连0-RTT 与 1-RTTTCP 与 TLS 需要分别建连
连接迁移支持,基于连接标识不支持,四元组变化即断连
部署难点需放行 UDP,中间设备兼容性网络设备普遍支持
QUIC 的连接迁移依赖连接标识而不是四元组,负载均衡与日志分析需要能识别对应字段,否则会把同一条连接当成多条。
只放行 TCP 443 时 HTTP/3 会静默回退到 HTTP/2,客户端不报错,现象就是「没启用」,容易在错误方向上反复排查。
云防火墙与安全组对 UDP 的策略通常更严格,上线前把 UDP 443 单独纳管测试一遍,比上线后从回退指标里发现问题更省时间。

易错点

  • 只放行 TCP 443 时 HTTP/3 静默回退 HTTP/2,容易被当成未启用而来回排查
  • 把 QUIC 的性能结论直接照搬到高丢包链路,测量条件不同结论会变化
  • 中间设备不理解 QUIC,可能在不知情的情况下丢弃 UDP 包
  • 缺少观测手段:抓包看不到明文首部,排障需要协议专用工具
  • 灰度阶段没有回退指标,无法判断真实启用比例

数据来源与参考

  • RFC 9000(QUIC)
  • RFC 9114(HTTP/3)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌