TCP、IP、HTTP

2019-12-19  本文已影响0人  钦_79f7

通常使用的网络协议基本都是 TCP/IP 协议族范畴内的,而HTTP则属于其内部的一个子集。

TCP/IP 协议族分层:应用层(HTTP)、传输层(TCP)、网络层(IP)、数据链路层

HTTP协议规定,请求从客户端发出,最后服务器响应该请求并返回。

仅从一条通信路线来说,服务器和客户端的角色是固定的。

HTTP 协议是一种不保存状态,即无状态(stateless)协议。也就是说在HTTP这个级别,协议对于发送过的请求或者响应都不做持久化处理。

使用HTTP协议通信,通过引入Cookie技术,来实现状态的管理。

三次握手建立 TCP 连接:

1. C -> S SYN 标记 // S 确定:C 的发送能力、S 的接收能力
2. S -> C SYN/ACK // C 确定:S的发送与接收能力、C 的发送与接收能力
3. C -> S ACK // S 确定:C的接收与发送、S的发送与接收

四次挥手 断开连接

1. C -> S FIN
2. S -> C ACK //这一步中 C -> S 的单向断开
3. S -> C FIN
4. C -> S ACK // S -> C 也断开了

// 至此 双向通信全部断开

HTTP 持久连接

HTTP Persistent Connections,也称为 HTTP keep-alive 或者 HTTP connection reuse

特点是:只要任意一端没有明确提出断开连接,则保持TCP 连接状态。

HTTP 首部字段

HTTP 首部字段重复了会如何

当HTTP报文首部中出现了两个或者两个以上具有相同字段名时会怎样?这种情况在规范内尚未明确,根据浏览器内部逻辑的不同,结果可能不一致。有的会优先处理第一次出现的首部字段,有的时候优先处理最后一次出现的首部字段。

上一篇 下一篇

猜你喜欢

热点阅读