1.三次握手
客户端机器访问服务器端的web服务的时候,需要在客户端和服务器之间创建TCP connection 的连接 。 TCP请求是在这个连接的基础上去发送的,只有在建立连接的基础上才能发送http请求。
在http的不同版本上创建的连接的时间不一样。http1.0的时候在一次访问完成后就断开。 http1.1在一次访问之后还可以保持连接。
首先 客户端机器给服务器发送一个TCP请求报文,关于TCP/IP报文格式参见这个连接<https://www.cnblogs.com/feng9exe/p/8058891.html>
第一次握手:发送报文中把SYN置为1,参数seq=x 然后客户端处于SYN-Sent状态
第二次握手:服务器端收到报文之后,给报文来源ip返回一个确认包,其中SYN=1 ,确认序号ACK=x+1,参数sqe=Y,此时服务器端状态为SYN-Recive,此时建立的连接为半连接(DDOS攻击就是基于这个协议来进行,使服务器产生半连接占用,导致正常用户无法访问)
第三次握手:客户端机器收到服务器发来的报文,确认SYN=1 ,ACK=之前自己发送的seq+1,确定已经建立半连接,然后再次向服务器发送ACK=seq+1,Seq=Z ,此时,服务器端收到该报文之后确定ACK=自己发出的seq+1,则确定第三次握手成功,建立起TCP连接。之后在两着之前经行http请求数据的发送与接收。
2.四次挥手
四次挥手也叫连接终止协议。百度说的很详细,这里仅作自己理解参考。