浏览器与服务器的交互原理解析(二)

一. 关于TCP/IP 协议的三次握手与四次挥手

1. 第一次握手:客户端向服务端发送连接请求报文段,然后,客户端进入等待状态,等待服务器的连接确认;

2. 第二次握手:服务器收到客户端的报文段,在对报文段确认后, 服务器端将服务端数据连接的配置信息放到一个报文段中,一并发送给客户端,此时服务器进入等待状态;

3. 第三次握手:客户端收到服务器返回的报文段后, 向服务器发送连接报文段,这个报文段发送完毕以后,客户端和服务器端都进入建立连接状态,完成TCP三次握手。

完成了三次握手,客户端和服务器端就可以开始传送数据。以上就是TCP的三次握手;


客户端和服务器通过三次握手建立了TCP连接以后,当数据传送完毕,就通过四次挥手断开TCP连接。

1. 第一次挥手:  主机1(可以是客户端,也可以是服务器端),向主机2发送一个报文段;此时,主机1进入等待状态;这表示主机1没有数据要发送给主机2了;

2. 第二次挥手:主机2收到了主机1发送的报文段,向主机1回一个报文段,主机1进入第二等待状态;主机2告诉主机1,我“同意”你的关闭请求;

3. 第三次挥手:主机2向主机1发送报文段,请求关闭连接,同时主机2进入待关闭状态;

4. 第四次挥手:主机1收到主机2发送的FIN报文段,向主机2发送报文段,然后主机1进入TIME_WAIT状态;主机2收到主机1的ACK报文段以后,就关闭连接;此时,主机1等待2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,主机1也可以关闭连接了。

二. 具体过程如下图示例

浏览器与服务器的交互原理解析(二)

三. HTTP报文状态码

报文状态码最全汇总:http报文解析