三次握手
HTTP(HyperText Transfer Protocol)超文本传输协议是互联网上应用最为广泛的一种网络协议。由于信息是明文传输,所以不安全。关于HTTP的三次握手,其实就是使用三次TCP握手确认建立一个HTTP连接。
如下图所示,SYN(synchronous)是TCP/IP建立连接时使用的握手信号、Sequence number(序列号)、ACK(Acknowledge number确认号码),三个箭头指向就代表三次握手,完成三次握手,客户端与服务器开始传送数据。
TCP协议在发包的时候,会进行分包,seq是包 的序号,ack是下一个包的序号,SYN=1表示请求,ACK=1表示确定。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
四次挥手
TCP是双向连接,因此需要发送两次FIN=1来中断连接,ACK=1来表示中断成功。
TCP的三次握手四次挥手
最新推荐文章于 2024-09-23 13:50:55 发布