3次握手

Posted danielwhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3次握手相关的知识,希望对你有一定的参考价值。

http组成部分:
第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本.
第二部分:请求头部,用来说明服务器要使用的附加信息
第三部分:空行,请求头部后面的空行是必须的
第四部分:请求数据也叫主体,可以添加任意的其他数据。


三次握手:
第一次握手:建立连接时,客户端向服务器发送SYN包,并进入SYN-send(发送中)状态,等待服务器确认。
第二次握手:服务器收到SYN包,必须确认后,同时也发送一个SYN+ACK包给客户端,此时服务器进入SYN_recv(收到)状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送ACK确认包,此包发送完毕,客户端和服务器进入established状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。
四次挥手:
(1)客户端发送一个FIN,用来关闭客户端到服务器的数据传送。
(2)服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1
(3)服务器关闭与客户端的连接,发送一个FIN给客户端。
(4)客户端发回ACK报文确认,并将确认序号设置为收到 序号加1。完成四次挥手
HTTPS和HTTP的区别主要如下:
1、https协议需要有ca申请证书
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

举个栗子:把客户端比作男孩,服务器比作女孩。用他们的交往来说明“三次握手”过程:

(1)男孩喜欢女孩,于是写了一封信告诉女孩:我爱你,请和我交往吧!;写完信之后,男孩焦急地等待,因为不知道信能否顺利传达给女孩。

(2)女孩收到男孩的情书后,心花怒放,原来我们是两情相悦呀!于是给男孩写了一封回信:我收到你的情书了,也明白了你的心意,其实,我也喜欢你!我愿意和你交往!;

写完信之后,女孩也焦急地等待,因为不知道回信能否能顺利传达给男孩。

(3)男孩收到回信之后很开心,因为发出的情书女孩收到了,并且从回信中知道了女孩喜欢自己,并且愿意和自己交往。然后男孩又写了一封信告诉女孩:你的心意和信我都收到了,谢谢你,还有我爱你!

女孩收到男孩的回信之后,也很开心,因为发出的情书男孩收到了。由此男孩女孩双方都知道了彼此的心意,之后就快乐地交流起来了~~

这就是通俗版的“三次握手”,期间一共往来了三封信也就是“三次握手”,以此确认两个方向上的数据传输通道是否正常。

 

举个栗子:把客户端比作男孩,服务器比作女孩。通过他们的分手来说明“四次挥手”过程。

"第一次挥手":日久见人心,男孩发现女孩变成了自己讨厌的样子,忍无可忍,于是决定分手,随即写了一封信告诉女孩。
“第二次挥手”:女孩收到信之后,知道了男孩要和自己分手,怒火中烧,心中暗骂:你算什么东西,当初你可不是这个样子的!于是立马给男孩写了一封回信:分手就分手,给我点时间,我要把你的东西整理好,全部还给你!男孩收到女孩的第一封信之后,明白了女孩知道自己要和她分手。随后等待女孩把自己的东西收拾好。
“第三次挥手”:过了几天,女孩把男孩送的东西都整理好了,于是再次写信给男孩:你的东西我整理好了,快把它们拿走,从此你我恩断义绝!
“第四次挥手”:男孩收到女孩第二封信之后,知道了女孩收拾好东西了,可以正式分手了,于是再次写信告诉女孩:我知道了,这就去拿回来!
这里双方都有各自的坚持。
女孩自发出第二封信开始,限定一天内收不到男孩回信,就会再发一封信催促男孩来取东西!
男孩自发出第二封信开始,限定两天内没有再次收到女孩的信就认为,女孩收到了自己的第二封信;若两天内再次收到女孩的来信,就认为自己的第二封信女孩没收到,需要再写一封信,再等两天…..

倘若双方信都能正常收到,最少只用四封信就能彻底分手!这就是“四次挥手”。。

源自:
http://cache.baiducontent.com/c?m=BRT10JdlGO9GaXn80tH9_t5O_GheUvhzWIdxx-UA2lu9QsRfwwbE_SCbDyHt4ryuroQqybLW8Isys16_C7E7TSs-UQhKPCdAE5FUuBqrX9wdyTqH62P9k8RA7OCaSYuRPze-2lIBy72Wt9ke02jX0xuyr0x42CXJbrUAsMh1YuozCxqd8VTauxYsR4S-yjkHeJ6drXAUkVdP05r9sMCQmMnHO34crczXR6jxPu1WcLZlnmdpmBd_ANmVAXN9oiMx&p=ce72c91193904ead08e2977e614f&newp=8574cd16d9c102f408e2977e4a4392695d0fc20e3ddcd201298ffe0cc4241a1a1a3aecbf2c261b0ed7c7776501ad4e5ce1f730703d0034f1f689df08d2ecce7e6cd3&s=cfcd208495d565ef&user=baidu&fm=sc&query=%C8%FD%B4%CE%CE%D5%CA%D6+%CB%C4%B4%CE%BB%D3%CA%D6&qid=cf21d6460010010b&p1=1

 

以上是关于3次握手的主要内容,如果未能解决你的问题,请参考以下文章

《邓哥奇遇记3》——TCP三次握手

了解TCP连接中的3次握手与4次挥手

了解TCP连接中的3次握手与4次挥手

三次握手四次挥手总结

四次握手

TCP连接的3次握手和4次挥手