你看Http的 三次握手

你看Http的 三次握手

按层次分,TCP位于传输层,而且TCP协议能够确认数据是否送达到对方,所以在客户端请求资源的时候,你得让俺知道咱俩关系是不是已经确定了啊,对不。这跟谈恋爱一样一样的,得先确定好关系,才能进入下一步。如图:

客户端会创立一个Tcp链接,当TCP链接成功创建之后,然后在发送http request 请求。
那么,问题来了,怎么知道这对情侣确定好关系了呢? 这需要传说中的TCP三次握手来帮忙了哇。请看下面的时序图

  1. 首先客户端会送一个数据包 包含(SYN,Seq=x) 为什么叫这个名字俺也不知道,可能是甲鱼的臀部——龟腚 即SYN就是询问: 你能听得到吗? ACK就是回到: 我能听得到啊。
  2. 服务端接受这个数据包,并且返回一个数据包(SYN,ACK = X+1 ,Seq = y),这里多个ACK验证,并且值是穿过来的x+1,Seq赋值给了y
  3. 客户端接受数据包,并且又发送一个数据包(ACK = Y+1 Seq = Z)告诉服务端:咱俩关系确定了,接下来可以自由传输数据了。

为什么一定是三次才能确定关系呢?

举个栗子:
如果客户端给服务端发了个第一次握手,服务端返回的数据由于一些种种原因,客户端并没有收到,客户端一般都会有设置超时时间,到点了人家客户端就关闭了,但是由于木有收到服务端的回应,无法给那个可怜的服务端发送回应数据包,咱服务端就一直在傻傻的等着,服务端就是个老实人,这样做多伤害人家。

两次不能确定关系嘛?

两个人约会两次就想确定关系? 比如女方在微信问你:你爱我嘛?,男方答:我爱你一万年,然后就没了,此时男方说了我爱你之后,没有收到女方回应,那这样单纯的服务端怎么办,一直在哪等女方回应,为了实现爱与和平的世界,三次握手是目前促使两人终成眷属的最有效方式。

原文地址:https://www.cnblogs.com/WG-console/p/10989105.html

时间: 2024-10-18 02:41:06

你看Http的 三次握手的相关文章

三次握手、四次握手、backlog

TCP:三次握手.四次握手.backlog及其他 TCP是什么 首先看一下OSI七层模型: 然后数据从应用层发下来,会在每一层都加上头部信息进行封装,然后再发送到数据接收端,这个基本的流程中每个数据都会经过数据的封装和解封的过程,流程如下图所示: 在OSI七层模型中,每一层的作用和对应的协议如下图所示: 说回TCP,简单说TCP(Transmission Control Protocol)即传输控制协议,是一种面向连接的.可靠的.基于ip的传输层协议. TCP协议头部格式 要学习TCP协议,首先

Wireshark 基本介绍和学习 TCP 三次握手

这篇文章介绍另一个好用的抓包工具 Wireshark, 用来获取网络数据封包,包括 HTTP.TCP.UDP 等网络协议包. 记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实.有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段.更能加深我们对网络协议的理解.对我而言, wireshark 是学习网络协议最好的工具. 阅读目录 wireshark介绍

WireShark简单使用以及TCP三次握手

最近一直在用C#编写服务器端的程序,苦于一直找不到合适的方法来测试网络程序,这篇文章很好的解释了网络程序的底层实现. WireShark是最好的学习网络协议最好的工具. wireshark介绍 wireshark不能做的 wireshark VS Fiddler 同类的其他工具 什么人会用到wireshark wireshark 开始抓包 wireshark 窗口介绍 wireshark 显示过滤 保存过滤 过滤表达式 封包列表(Packet List Pane) 封包详细信息 (Packet

Wireshark基本介绍和学习TCP三次握手

记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实.有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段.更能加深我们对网络协议的理解.对我而言, wireshark 是学习网络协议最好的工具. 阅读目录 wireshark介绍 wireshark不能做的 wireshark VS Fiddler 同类的其他工具 什么人会用到wireshark wire

web服务-1、http协议的三次握手四次挥手

知识点:http协议:它是基于tcp协议的,浏览器访问服务器,服务器把资源回给浏览器,这个过程都是遵循http协议的,否则无法完成,http早些年是1.0版本,现在基本上都是1.1版本了,俩个版本的区别就是1.0使用的是短连接,早些年的网站比较简单,短连接通信没啥大问题,但是现在的网站各种炫酷复杂,所以使用1.1版本的长连接,提高通信效率.那么,他的具体通信过程是怎样的呢?也就是我们常说的三次握手和四次挥手. 1.直接看图: 三次握手:1:浏览器告诉服务器,我要和你建立链接,呆着位码syn=1和

TCP链接的三次握手与四次断开

一直总觉得三次握手和四次断开,之前老师讲的有问题,经过自己再次琢磨,发现是的,老师讲的没毛病,这次也把自己的理解总结一下,让对这个知识模糊的小伙伴再换种思路去理解 首先看一下TCP三次握手发生了哪些: TCP三次握手 这是第一次用画图工具画图,有点low,细节处理的不好见谅 这是第一次设计三次握手的过程,实际上发生了四件事,其次你要清楚TCP链接建立的标准是双向的,就像谈恋爱表白一样,你必须俩人相互喜欢才能表白成功啊 白话版:TCP 链接建立就像谈恋爱一样,互相表白才是表白成功背景条件:某专业

让你彻底明白TCP三次握手,四次挥手

今天我们来讲一下TCP的三次握手和四次挥手,先来张思维导图.  一.TCP是什么 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议. 我们知道了上述了解到了TCP的定义,通俗一点讲,TCP就是一个双方通信的一个规范标准(协议). 我们在学习TCP握手的过程之前,首先必须要了解TCP报文头部的一些标识信息.因为TCP握手的过程中,会使用到这些报文信息,如果没有掌握这些信息,在学习握手的过程中,整个人都处于懵逼状态

TCP三次握手及tcpdump抓包

1. TCP报文段的首部格式 说明: ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1 SYN(SYNchronization) : 在连接建立时用来同步序号.当SYN=1而ACK=0时,表明这是一个连接请求报文.对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此,  SYN置1就表示这是一个连接请求或连接接受报文 FIN (finis)即完,终结的意思, 用来释放一个连接.当 FIN = 1 时,表明此报文段的发送方的数据已经发

TCP协议的三次握手+四次断开

TCP协议的三次握手 1.TCP/IP协议概述 TCP/IP协议(Transmission Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础.TCP/IP是网络中使用的基本的通信协议.虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录.文件传输和电子邮件等,而TCP协议和IP协议是保证数