首页/网络/协议速查/QUIC 与 TLS 1.3 的关系

QUIC 与 TLS 1.3 的关系

QUIC 把 TLS 1.3 内嵌进传输层:握手与加密一体化、0-RTT 复用、多路复用无队头阻塞,跑在 UDP 443 上,是 HTTP/3 的基础。

协议速查网络更新于 2026-10-13

QUIC 与 TLS 1.3 的关系

QUIC 把 TLS 1.3 内嵌进传输层:握手与加密协商一体化,密钥在传输层直接可用,因此首次连接约 1 个 RTT、复连可做到 0 RTT。它在用户态实现可靠传输、按流独立重传,某条流丢包不会阻塞其他流,天生没有队头阻塞问题。QUIC 跑在 UDP 443 上,是 HTTP/3 的传输基础。

基本信息

承载方式UDP 443(也可用其他端口,443 最为常见)
握手开销首次约 1 RTT,会话恢复可做到 0 RTT
加密范围除少数用于路由的字段外全部加密,中间设备可见性更低
多路复用流之间独立,丢包只影响单条流
连接迁移用连接 ID 标识,切换网络不断连
服务端支持Nginx 1.25 起支持 QUIC,久经考验的路径是 CDN 边缘

典型使用场景

  • 移动端弱网优化:减少握手往返并避免队头阻塞
  • 切换网络的场景(Wi-Fi 与蜂窝之间来回)依赖连接迁移不断连
  • CDN 边缘开启 HTTP/3,让支持的浏览器自动使用 QUIC
  • 排查「开了 HTTP/3 但没效果」:确认路径是否放行 UDP 443
  • 企业出口做流量治理时,评估加密载荷对监控可见性的影响
  • 对比 HTTP/2 与 HTTP/3 在同一链路上的首屏耗时

最小示例

最小示例
curl --http3 -sI https://cloudflare-quic.com | head -3   # 需 curl 编译时启用 HTTP/3
openssl s_client -connect example.com:443 -alpn h3 </dev/null  # 用 h3 做 ALPN 协商
curl -sI --http2 https://example.com | head -1           # 对比回落到 HTTP/2 的表现
# 观察协议版本:浏览器开发者工具里看 Protocol 列是否显示 h3

要点与影响

要点说明实际影响
握手首次 1 RTT,复连可 0 RTT连接建立更快,首包延迟更低
多路复用流级独立,丢包不阻塞其他流弱网与高丢包链路上体验提升明显
连接迁移连接 ID 支持换网不断连移动网络切换时不中断下载
全量加密中间设备难以解析载荷防火墙只能按端口与流量特征判断
UDP 依赖被限速或封禁即回落 TCP功能正常但性能收益消失
排障第一步是确认路径是否放行 UDP 443。企业防火墙常常只放行 TCP 443,结果浏览器静默回落 HTTP/2,用户侧看不出任何异常。

易错点

  • 只按功能验证不看协议版本:UDP 443 被拦截时浏览器自动回落,页面对但加速效果不存在,必须用抓包或开发者工具确认实际协议
  • 忽略 UDP 的限速策略:中间设备对 UDP 做带宽限制时 QUIC 反而比 TCP 慢,需要实测对比而不是照搬结论
  • 把 QUIC 当万能加速:服务器侧 CPU 开销高于内核 TCP,高并发小请求场景收益有限,需按业务形态评估
  • 依赖缺失的观测手段:QUIC 载荷加密后传统设备看不到细节,可观测性要改用服务端指标与 QUIC 日志

数据来源与参考

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

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌