千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip
2023-07-21 09:25 作者:Jarvissssssssss | 我要投稿

第一次握手:
建立连接时,客户端发送 syn 报文(包)(同步序列号)到服务器,
并进入SYN_SEND状态,等待服务器确认;
第二次握手:
服务器收到 syn 报文,必须确认客户端的 syn 报文,
同时自己也发送一个 SYN 报文,即 SYN+ACK(确认序列),
此时服务器进入 SYN_RECV(等待) 状态;
第三次握手:
客户端收到服务器的 SYN+ACK 报文,向服务器发送确认报文 ACK,
此包发送完毕,客户端和服务器进入 ESTABLISHED(确定) 状态,完成三次握手。
http 四次挥手
第一次挥手:
客户端发送一个`FIN`,用来关闭客户端到服务端的数据传送,
客户端进入`FIN_WAIT_1`(等待)状态。
第二次挥手:
服务端收到`FIN`后,返回一个`ACK(acknowledgment)`(确认号)给客户端,
服务端进入`CLOSE_WAIT`(等待关闭)状态。
第三次挥手:
服务端发送一个`FIN`,用来关闭服务端到客户端的数据传送,
服务端进入`LAST_ACK`状态。
第四次挥手:
客户端收到`FIN`后,客户端进入`TIME_WAIT`状态,
接着发送一个`ACK`给服务端,服务端进入`CLOSED`(关闭)状态,完成四次挥手