网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
第一次握手的报文如下:这是客户端发起给服务器的报文,用于请求建立连接。
可以看到TCP报文里有一个Flags位:
当Syn位标记为1的时候,表示这个报文是一个请求链接的报文;
自己的序号(sequence number):0
第二次握手的报文如下:这是服务器回复给客户端的报文,用于确认并同意连接请求。
可以看到TCP报文里的Flags位:
Syn位也标记为1,表示这个报文是一个同意建立链接的报文;
ACK位也标记为1,表示是一个对上一个报文的确认报文;
Sequence number:自己的序号;
acknowledgment number:表示对上一个请求报文的确认号,所以是在上一个报文的序号+1
第三次握手:是客户端发给服务器的,是对上一个同意连接请求的确认。
Flags里的ACK位标记为1,表示是一个对上一个报文的确认报文;
Sequence number:自己的序号,在上一个报文的基础上+1;
acknowledgment number:表示对上一个请求报文的确认号,在上一个报文序号的基础上+1.
至此,三次握手完成!接下来就开始发送HTTP的请求了。
04 TCP协议的四次挥手过程
当数据传输结束了,客户端和服务器之间就开始断开连接了。断开连接需要经历四次挥手,具体过程如下:
同样,我们用wireshark工具来进行详细过程的报文的分析:
我们同样展开看下详细的报文内容:
第一次挥手:当数据传输首先结束的端(比如客户端),会率先发起结束断开连接的请求:
Flags位的 Fin位标记为1,说明这是个一个断开连接的请求的报文。
这时候我们发送这个请求的端已经停止发送数据了!但是还可以接受数据。
第二次挥手:对上一个断开连接请求的报文进行确认。并同时,停止接受数据。
所以,我们能看到这个报文的ACK位标记为1,并且acknowledgment number是对上一个报文的序号+1,表示对上一个报文的确认。
第三次挥手:服务器端也结束数据发送了,所以也会发起一个断开连接的请求。
这是个服务器发起FIN报文,请求断开连接,同时,服务器也会停止发送数据。
第四次挥手:是客户端对服务器断开连接请求的进行确认。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**