tcp三次握手四次挥手

三次握手:

第一次:客户端给服务器发请求说,我要和你建立连接        SYN=1

第二次:服务器给客户端说,我知道了,那咱两建立连接把     ACK=1  SYN=1

第三次:客户端对服务器说,好的,我知道你知道  我要和你建立连接了   ACK=1


为什么不是两次握手呢?

第一次:客户端给服务器发请求说,我要和你建立连接

第二次:服务器给客户端说,我知道了,那咱两建立连接把

客户端给服务发消息,服务器由于网络阻塞或者别的原因没有收到,就不会回应,客户端一段时间没有收到服务器给他回的消息,他就会重新发送一个请求,现在在他重新发送请求后,服务器且回应了,建立连接后,且服务器收到前段时间的失效报文,服务器就建立了连接,准备接受数据。但是他已经失效了,客户端就对那个失效的消息不感冒,就不传数据,然后服务器就一直等啊等啊等着他传数据,就浪费了服务器资源。

如果是三次握手的话,客户端再给他回一句,我知道了,我等哈就给你发数据,然后这样他两才链接上,

如果客户端没给他回消息,服务器就不会和他建立连接,就不会一直等啊等啊。

所以避免浪费服务器资源。


四次挥手:

链接时是个全双工的过程,一般都是浏览器给服务器说,很少服务器给浏览器说,

第一次:浏览器给服务器说,我现在要断开tcp链接了啊,

第二次:服务器给浏览器说,知道了,那就断吧,但是这个时候服务器的资源还没有发完,他还会继续给浏览器发消息,

第三次:当他发完了之后,他就跟浏览器说,我现在发完了,咱两可以断开了。(客户端在之前还是接收数据的,只是他不在给服务器发东西了)

第四次:客户端给浏览器说,好的我知道了,那就真正的断开吧。(在第四挥手的时候,有一个等待时间,在这个等待时间里,服务器不再给给客户端发消息的话,过了这段时间,客户端就默认,服务器已经收到   客户端同意和他断开的消息了。

为什么是四次挥手呢?

关闭连接的时候,当接收到FIN通知时,只是说他没啥给你发的了,你不一定没东西给他发啊,你再次给他发FIN时,代表你没东西给他发了,双方都没东西发了,就可以完全关闭了。


就比如说,我要和你分手了,但是你对我还有感情,当你没感情的时候,也就是咱两都没感情的时候,就可以分手了,不能说我没感情就分手,不公平啊!!

补充:

四次挥手的时候,第一次浏览器发送FIN

第二次,服务器发送ACK

第三次,服务器发送FIN,

第四次,浏览器发送ACK


-------------------------------------------------------------------------------------------------------------------------------

天哪!!!刚开始的题目竟然错了!!已改正,tcp的三握四挥,不是http的,http是一个无状态协议!!!!!’

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值