首页/云/云网络与负载均衡速查/CDN 的 HTTP/2 与 QUIC 开启
云 DNS 与 CDN49 条

CDN 的 HTTP/2 与 QUIC 开启

CDN 边缘可开启 HTTP/2 或 QUIC(HTTP/3):HTTP/2 复用连接减少往返开销,QUIC 基于 UDP 改善弱网握手体验;客户端不支持时自动回退 HTTP/1.1,回退链路要一起验证。

HTTP/2 与 QUIC 加速是什么

CDN 边缘节点可以在 HTTPS 上开启 HTTP/2 或 QUIC(HTTP/3),把加速从「就近取源」延伸到传输层:HTTP/2 在一条 TCP 连接上多路复用多个请求,减少握手与队头阻塞带来的往返开销;QUIC 跑在 UDP 上,把传输与加密握手合并,弱网和高丢包场景下建连更快。客户端不支持时自动回退到 HTTP/1.1,这是正常行为,不是配置失效。

基本信息

HTTP/2单连接多路复用,需在 HTTPS 下生效
QUIC(HTTP/3)基于 UDP 的传输协议,弱网建连更快
协议协商通过 ALPN 协商;HTTP/3 由 alt-svc 响应头提示
回退行为客户端不支持时回落 HTTP/1.1
开启前提一般需要先启用 HTTPS 证书
生效范围边缘与客户端之间;回源链路是否使用由回源配置决定

典型使用场景

  • 页面资源多、并发请求密集的站点:用 HTTP/2 复用连接降低加载时间
  • 移动端为主的业务:弱网环境用 QUIC 缩短首屏时间
  • 跨国访问:高丢包链路下 QUIC 的重传与拥塞控制更友好
  • 大促前调优:确认边缘协议能力已开启,避免流量洪峰时握手成为瓶颈
  • 回退验证:确认老客户端在回退链路上功能与性能都可接受

三种协议的差别

协议传输层主要收益注意事项
HTTP/1.1TCP兼容性最好并发连接多,队头阻塞明显
HTTP/2TCP单连接多路复用TCP 层丢包仍会阻塞所有流
HTTP/3(QUIC)UDP握手更快、流级独立链路封 UDP 时自动回退

验证协议协商结果

验证协议协商结果
curl -sI --http2 https://cdn.example.com/ -o /dev/null \
  -w 'http_version=%{http_version}\n'        # 是否协商到 HTTP/2
curl -sI https://cdn.example.com/ | grep -i alt-svc   # 是否提示 h3
curl -s --http3 https://cdn.example.com/ -o /dev/null -w '%{http_version}\n'  # 客户端需支持 HTTP/3
openssl s_client -connect cdn.example.com:443 -alpn h2 </dev/null 2>/dev/null | grep ALPN
QUIC 使用 UDP 443 等端口,企业内网或某些运营商链路封 UDP 时客户端会回退到 TCP 方案。看到「没有走 HTTP/3」先确认本地 UDP 是否被拦,再判断是不是 CDN 配置问题。
配置顺序要先证书后协议:QUIC 与 HTTP/2 都建立在 HTTPS 之上,证书未就绪就开启会出现协商异常,排查时容易误判为 CDN 故障。

易错点

  • 先开 QUIC 后配证书,协商异常且现象与证书问题混淆
  • 内网封 UDP 时误判为加速失效,实为客户端正常回退
  • 只验证新版客户端的表现,忽略老客户端的回退链路,上线后部分用户异常
  • 以为开启协议就能提升回源效率,回源仍走 HTTP/1.1,源站压力没有改善
  • 开启新协议后未回归压测,UDP 流量被云防火墙或安全组拦截导致可用性下降

数据来源与参考

  • 阿里云 CDN HTTP/2 与 QUIC 文档
  • 腾讯云 CDN QUIC 配置说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌