http三次握手四次挥手

http协议属于OSI七层模型中的应用层协议。其主要是用于规范数据传输所遵循的格式标准。最终的连接建立与数据传输还是基于TCP/IP协议来完成。

TCP的三次握手(连接建立的过程)
1、客户端发送一个标记syn(synchronize)的报文给服务端
2、服务端接收到含syn标记的报文后向客户端回复一个含有syn/ack(acknowledgement)的数据包给客户端。
3、最后客户端在回传一个含ack标记的数据包给服务端。表示握手结束,连接建立完成。

为什么是三次握手,而不是两次或者四次?
由于tcp是面向连接的可靠传输协议。并且具备双向传输的能力,握手的第2步,只能保证”客户端“到服务端的是连通的,要保证服务端与客户端的连通性,那么至少还要发送一次标记数据包。因此,建立一个连接至少需要三次握手才能保证双向互通。而四次握手虽然可行,但没有意义。

http三次握手四次挥手

TCP的四次挥手(连接断开的过程)
1、客户端发送一个标记Fin的报文给服务端
2、服务端接收到含Fin标记的报文后向客户端回复一个含有ack的数据包给客户端。
3、服务端接收到含Fin标记的报文后向客户端回复一个含有fin的数据包给客户端
4、客户端接收到含Fin标记的报文后向服务端回复一个含有ack的数据包给客户端。