【项目开发】理解SSL延迟:为何HTTPS比HTTP慢?
未经许可,不得转载。
文章目录
-
- 前言
- HTTP与HTTPS的耗时差异
-
- TCP握手
- HTTPS的额外步骤:SSL握手
- 使用curl测量SSL延迟
- 性能与安全的权衡
前言
在互联网发展的早期阶段,Netscape公司设计了SSL(Secure Sockets Layer)协议,为网络通信提供加密和安全性。有人曾提出一个大胆的设想:让互联网的所有链接都使用加密的HTTPS。然而,这一提议并未被采纳,原因之一是HTTPS链接在性能上不如HTTP链接——主要体现在“SSL延迟”上。
HTTP与HTTPS的耗时差异
要理解这一现象,需要了解HTTP和HTTPS链接的建立过程。两者都基于TCP协议,因此都需要经历TCP握手的过程。
TCP握手
TCP握手是通信双方在传输数据前建立连接的必要步骤,通常包括以下三次数据包交换:
- 客户端发送 SYN:请求建立连接。
- 服务器回应 SYN+ACK:确认并同意连接。
- 客户端发送 ACK:确认连接成功。
这一过程通常只需三个数据包的时间,随后即可开始发送数据。