TLS 握手的成本与会话恢复
首次建连的加密握手要额外往返,跨国访问时这部分可能占首字节时间的一大半。会话恢复和 0-RTT 是用来削掉它的。
6 分钟协议与压缩

要点
TLS 1.3 把握手压到一个往返,会话恢复能进一步做到 0-RTT。CDN 的价值之一就是把握手终止在离用户最近的节点上。
首字节时间花在哪
一次 HTTPS 请求在拿到第一个字节之前,至少要完成:DNS 解析、TCP 握手、TLS 握手,然后才发出实际请求。每一步都是至少一个往返。
往返时间由物理距离决定。用户在南美、源站在东亚时,单次往返可能是两三百毫秒——三个往返就接近一秒,全部发生在传输任何有用数据之前。
CDN 为什么能削掉这部分
CDN 把 TLS 握手终止在边缘节点。用户与几十毫秒外的节点完成握手,节点与源站之间则复用已建立的长连接——那几个昂贵的往返被换成了短距离往返。
这也是「CDN 对动态内容也有用」的原因
很多人以为 CDN 只对可缓存的静态资源有价值。实际上即使每个请求都要回源,握手终止和长连接复用本身就能显著改善首字节时间——这部分收益与命中率无关。
0-RTT 的注意事项
0-RTT 允许客户端在握手完成前就发送数据,代价是这部分数据可能被重放攻击利用。规范要求只对幂等请求使用。
- 开启 0-RTT 前确认厂商是否限制只用于 GET/HEAD;
- 不要让 0-RTT 阶段的请求触发写操作;
- 会话票据有有效期,长时间未访问的用户仍走完整握手;
- 用实测工具看首字节时间的分布,而不只看平均值——握手成本主要体现在冷连接的长尾上。
在你的网站验证
边缘核验从多地实测首字节时间与握手耗时