网络——HTTP与HTTPS三次握手和四次挥手

HTTP协议本身并不直接处理TCP连接的建立和关闭,这些是由底层的TCP协议来完成的。但是,由于HTTP通常运行在TCP之上,因此理解TCP的三次握手(用于建立连接)和四次挥手(用于关闭连接)对于理解HTTP通信过程是非常有帮助的。

三次握手 (Three-way Handshake)

三次握手是TCP协议中用于在网络中的两个节点之间建立连接的过程。这个过程确保了双方都准备好进行数据传输,并且能够互相发送和接收数据。

  1. 客户端 -> 服务器:客户端发送一个SYN(同步序列编号)包到服务器,表示想要建立连接。
  2. 服务器 -> 客户端:服务器收到SYN后,会回复一个ACK(确认)以及自己的SYN给客户端。
  3. 客户端 -> 服务器:客户端收到服务器的SYN+ACK后,发送一个ACK给服务器,表明已经收到了服务器的响应。

此时,连接正式建立,可以开始传输数据。

四次挥手 (Four-way Handshake)

当一方或双方决定终止连接时,就会启动四次挥手过程。这个过程确保了双方都能正确地结束会话并且释放资源。

  1. 客户端 -> 服务器:客户端发送一个FIN(结束)包给服务器,表示客户端不再发送数据。
  2. 服务器 -> 客户端:服务器回应一个ACK,确认收到了客户端的FIN。
  3. 服务器 -> 客户端:服务器发送自己的FIN给客户端,表示服务器也结束了数据传输。
  4. 客户端 -> 服务器:客户端回应一个ACK,确认收到了服务器的FIN。

在某些情况下,最后一步的ACK可能与第二步的ACK合并成一个步骤,但标准流程是四步。

时序图

下面是三次握手和四次挥手的简单时序图:

三次握手

四次挥手

这里用文字描述了一个简单的时序图。在实际应用中,可以使用专业的绘图工具如Microsoft Visio、Lucidchart等来创建更直观的图形化表示。

HTTPS的三次握手与四次挥手

HTTPS在HTTP的基础上增加了SSL/TLS层进行加密通信。因此,HTTPS的三次握手不仅涉及TCP的三次握手,还涉及SSL/TLS握手过程。同样地,HTTPS的四次挥手与HTTP的四次挥手基本相同,但在断开连接前需要确保所有加密数据都已成功传输且解密完成。

  1. HTTPS的三次握手

    • TCP三次握手:与HTTP的三次握手相同。
    • SSL/TLS握手:在TCP连接建立后,开始进行SSL/TLS握手过程。这包括客户端发送ClientHello消息、服务器回复ServerHello消息、服务器发送数字证书进行身份验证、客户端验证服务器证书的合法性、双方协商加密算法和生成加密密钥等步骤。
  2. HTTPS的四次挥手

    • 与HTTP的四次挥手基本相同。但在断开连接前,HTTPS需要确保所有加密数据都已成功传输且解密完成。之后,按照TCP的四次挥手过程断开连接。

需要注意的是,在SSL/TLS握手过程中,如果服务器需要客户端证书进行双向认证,则客户端也需要发送自己的证书给服务器进行验证。此外,SSL/TLS握手过程中还包括密钥交换和生成会话密钥等步骤,以确保后续通信的数据加密和安全性。

相关推荐
飞行增长手记10 分钟前
什么是高匿代理IP?安全吗?怎么选?
网络协议·tcp/ip·安全
上海云盾安全满满5 小时前
高防 IP 是如何帮助数藏行业防刷
网络·网络协议·tcp/ip
吠品6 小时前
免费SSL证书自动化申请:DNS代理验证
网络协议·自动化·ssl
捷米研发三部10 小时前
CC-Link转Modbus TCP协议转换网关实现三菱 PLC与传感器通讯在快递分拣中心的应用案例
网络·网络协议
嵌入式-小王10 小时前
每天掌握一个网络协议----ARP协议
网络·网络协议·arp
阿珊和她的猫12 小时前
HTTP 状态码 301 和 302 的区别与使用场景
网络·网络协议·http
让学习成为一种生活方式14 小时前
植物中验证蛋白相互作用的Pull-down和Co-IP技术--文献精读181
网络·网络协议·tcp/ip
普普通通的南瓜14 小时前
IP证书在关键信息基础设施安全防护中的实践与挑战
网络·数据库·网络协议·tcp/ip·安全·ssl
YFLICKERH18 小时前
【加密协议】SSL/TLS 协议工作流程
网络协议·ssl/tls
观望过往1 天前
WebSocket 技术全解析:原理、应用与实现
网络·websocket·网络协议