1、HTTP
1.1先介绍一下http
超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式
1.2 在TCP/IP协议栈中的位置
TTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS
2、TCP IP协议
2.1TCP IP协议分层
2.2tcp的三次握手和四次挥手
2.3 TCP标志位
标志位就是用于协议的一些机制的实现的比特位大家可以看到有6比特,它们依次如下:
URG、ACK、PSH、RST、SYN、FIN。
URG表示紧急指针字段有效;
ACK置位表示确认号字段有效;
PSH表示当前报文需要请求推(push)操作;
RST置位表示复位TCP连接;
SYN用于建立TCP连接时同步序号;
FIN用于释放TCP连接时标识发送方比特流结束。
2.4 TCP三次握手
使用下图更明了
2.5 TCP 四次挥手
(1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
(2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。
(3)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
(4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。
3、一次完整的HTTP请求过程
网友评论