TCP连接的“三次握手”与“四次挥手”
|
与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西; 由于TCP不存在连接的概念,只存在请求和响应,请求和响应都是数据包,它们之间都是经过由TCP创建的一个从客户端发起,服务器接收的类似连接的通道,这个连接可以一直保持,http请求是在这个连接的基础上发送的; 在一个TCP连接上是可以发送多个http请求的,不同的版本这个模式不一样。 在HTTP/1.0中这个TCP连接是在http请求创建的时候同步创建的,http请求发送到服务器端,服务器端响应了之后,这个TCP连接就关闭了; HTTP/1.1中可以以某种方式声明这个连接一直保持,一个请求传输完之后,另一个请求可以接着传输。这样的好处是:在创建一个TCP连接的过程中需要“三次握手”的消耗,“三次握手”代表有三次网络传输。
如果TCP连接保持,第二个请求发送就没有这“三次握手”的消耗。HTTP/2中同一个TCP连接里还可以并发地传输http请求。 equence number):Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认号(acknowledgement number):Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 (3)标志位(Flags):共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:
需要注意的是:
三、TCP的三次握手(Three-Way Handshake)1.”三次握手”的详解 所谓的三次握手即TCP连接的建立。这个连接必须是一方主动打开,另一方被动打开的。
以下为客户端主动发起连接的图解: (编辑:广元站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



