前言:HTTP协议是在TCP协议之上的,所以建立一个HTTP连接就需要一次三次握手的过程。但是HTTP有持续连接和非持久连接的区分,就是HTTP请求首部里面的Connection字段,如果是Connection:Keep-Alive就表示持续连接,除非一方主动断开,客户端和服务器的网络连接是持续的,也就是多个HTTP请求都是这一个网络连接;如果是Connection:close,一个HTTP请求在获得HTTP响应后连接就会断开,在下一次HTTP请求时就会有另外一次HTTP连接,也就会再有一个三次握手的过程。
即:其实HTTP并不是每次请求都需要进行3次握手的,只需要开通keepalive就可以了
百度百科:三次握手协议概念
三次握手协议指的是在发送数据的准备阶段,服务器端和客户端之间需要进行三次交互:
第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,