TCP属于传输层协议。在HTTP连接建立之前,需要进行TCP三次握手,在握手过程中,传输的报文段仅限于传递标志位与序号
在三次握手过程中,需要用到的标志位与序号:
seq序列号:表示报文段第一个数据字节的序号。随着客户端发送至服务端,给报文段一个标识。
ack确认号:表示期望下次客户端发送的序列号。在seq的序号基础上加1,用以确认收到客户端请求,并期望下次得到的报文段。
ACK确认标志位:ACK=1时,确认字段有效。ACK=0时,确认字段无效。
同步SYN:与ACK配合使用,连接建立时用于同步序号。SYN=1,ACK=0时,表示这是一个连接请求报文,SYN=1,ACK=1时表示这是一个响应请求报文。SYN标志位只有在TCP建立连接请求时才会被置1,握手完成后才会被置0。
终止FIN:用来表示释放一个连接。FIN=1表示此报文段的发送方的数据已经发送完毕,并请求连接运输断开。