HTTP 的三次握手和四次挥手

         网络由下往上分为7层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据,所以说HTTP是基于TPC/IP的。

“三次握手”建立连接

         如上图,客户端首先发起第一次握手,向服务端表示(我要传一些数据给你);
服务端听到后如果表示可以接受数据,则向客户端发起第二次握手(这次握手表示,我能接受你的数据哦,同时由于TCP/IP是全双工的,服务端的这次握手也是在询问,你能接受我返回给你的数据吗?);接着客户端发起第三次握手(告诉服务端,是的,我也能接受你返回给我的数据,OK,这下两个人都放心了,连接建立成功)。

“四次挥手”释放连接

         TCP/IP是全双工的,每个方向都必须单独进行关闭。有一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。比如客户端给服务端发送一个FIN,告诉服务端,我再也没有数据要传给你啦,这是第一次挥手;服务端收到后返回一个ACK告诉客户端,好的,知道啦,这是第二次挥手。
        客户端收到确认后就可以关闭往服务端那边的数据传输通道了,这个时候服务端仍然可以往客户端继续发送数据。待服务端也再没有数据要往客户端发送时,就也发一个FIN到客户端,告诉它,我也没啥要传给你了,这是第三次挥手。客户端得知后在返回一个ACK告诉服务端,好的,收完了,服务端也就可以安心关闭往客户端的数据传输通道了,这是第四次挥手。自此双向的传输通道都已关闭,连接成功释放。

猜你喜欢

转载自qiqiliu.iteye.com/blog/2330129