第 39 篇:HTTPS握手过程完整分析

第 39 篇:HTTPS握手过程完整分析
抓包实战系列第 19 篇。上一篇我们对比了 HTTP/1.1 和 HTTP/2:连接复用、多路复用、Stream、Frame、ALPN。今天继续往 HTTPS 深处走。一次 HTTPS 请求真正发出 HTTP 数据之前,TCP 和 TLS 分别做了什么?ClientHello、ServerHello、证书、SNI、ALPN、密钥协商,在抓包里又该怎么看?开场:HTTPS 慢,不一定是 HTTP 慢很多人排查接口慢时,会盯着 HTTP。状态码多少?TTFB 多久?后端处理慢不慢?Nginx 有没有排队?这些当然重要。但 HTTPS 请求真正发出 HTTP 数据之前,前面还有两道门:TCP 三次握手 TLS 握手如果 TCP 连接慢,HTTP 还没开始。如果 TLS 握手慢,HTTP 也还没开始。你看到“访问 HTTPS 慢”,不代表 HTTP 慢。可能只是它还在门口验身份证。先给结论:HTTPS 抓包分析的核心,是把一次请求拆成 TCP 建连、TLS 协商、应用数据三个阶段,先判断慢在哪一段。再通俗一点: