HTTPS挥手

HTTPS 断开连接:TLS close_notify 的意义,以及与 TCP 四次挥手的关系。

#type / concept #status / growing #resource / https #tech / network #protocol / https

[!info] related notes

HTTPS挥手

很多时候大家只关注 TCP 四次挥手,却忽略了 TLS 层面也有自己的安全断开机制。

HTTPS 的挥手(断开),实际上包含两个层面:

  1. TLS 层面的挥手(防截断攻击): 在正式关闭底层的 TCP 连接之前,主动断开方(通常是客户端)必须在加密通道里发送一个特殊的 TLS 警告消息:close_notify

    • 为什么要有这一步? 如果没有这个消息,黑客可以通过在半路强行伪造 TCP 的 RST 或 FIN 包,让通信双方以为传输正常结束了,从而把未传完的数据“截断”(这就是著名的截断攻击 Truncation Attack)。有了 close_notify,双方就明确知道加密会话是安全、完整结束的,而不是被恶意阻断的。
  2. TCP 层面的挥手: 在发送和确认了 TLS 的 close_notify 之后,双方才会降级到传输层,正常执行我们上一题聊过的TCP 四次挥手,最终释放端口和内存资源。

创建于 2026/3/12 更新于 2026/5/27