HTTP 三次握手,四次挥手(为什么是三次握手四次挥手)

问题带入 --- 个人阅读别人的笔记自己的理解 -- 具体底层有待以后提升后补充完成

1.HTTP请求 为什么是三次握手四次挥手?
2.为什么是三次握手不是两次握手?

TCP 报文格式:

HTTP 三次握手,四次挥手(为什么是三次握手四次挥手)_第1张图片
TPC报文格式

标志位含义: 1.ACK : 确认序号有效 2.SYN:发送一个新的链接 3.FIN:释放一个链接

三次握手过程

**注意:**三次握手的主要目的是确保连接是双工的,可靠的通过更多的重传机制来保证连接
三次握手,建立TCP连接需要客户端和服务端总共至少发送三个包确认连接。
HTTP 三次握手,四次挥手(为什么是三次握手四次挥手)_第2张图片
TCP三次握手流程图

第一次握手:

-客户端发送一个TCP的SYN标志位置1的包指明发送的服务器端口,以及初始化序号 X

第二次握手:

-服务器返回确认包ACK应答,及SYN标志位和ACK标志位均为1,同时将确认序号设置为 X+1

第三次握手:

-客户端再次发送确认(ACK) SYN标志为0,ACK标志为1,并把服务器发送过来的ACK序号字段+1

第一次握手: 客户端什么都不确定。服务端确认对方发送正常。
第二次握手: 客户端发送/接受正常,对方发送接收正常。服务端确认自己发送正常,客户端发送正常。
第三次握手: 客户端发送/接受正常,服务端发送接受正常。服务端确认自己发送/接受正常,客户端发送接受正常。

tcp为什么三次握手
HTTP 三次握手,四次挥手(为什么是三次握手四次挥手)_第3张图片
阻塞后会发生

当网络原因服务端没有收到客户端的请求,且没有给客户端反馈。超时后客户端会再次向服务端发送请求。当网络畅通后服务器段收到最开始的请求并反馈给客户端。导致客户端认为自己未发送这个请求,服务端认为自己发送了一个新的请求,导致服务端性能浪费。

你可能感兴趣的:(HTTP 三次握手,四次挥手(为什么是三次握手四次挥手))