通常使用的网络协议基本都是 TCP/IP 协议族范畴内的,而HTTP则属于其内部的一个子集。
TCP/IP 协议族分层:应用层(HTTP)、传输层(TCP)、网络层(IP)、数据链路层
- TCP:Transmission Control Protocol 传输控制协议
- UDP:User Data Protocol 用户数据报协议
- IP:Internet Protocol 网际协议
- DNS:Domain Name System 域名系统
- FTP:File Transfer Protocol 文件传输协议
- HTTP:HyperText Transfer Protocol 超文本传输协议
- URI:Uniform Resource Identifier 统一资源标识符
- URL:Uniform Resource Locator 统一资源定位符
- SYN:synchronize
- ACK:acknowledgement
- MIME:Multipurpose Internet Mail Extensions 多用途因特网邮件扩展
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报文首部中出现了两个或者两个以上具有相同字段名时会怎样?这种情况在规范内尚未明确,根据浏览器内部逻辑的不同,结果可能不一致。有的会优先处理第一次出现的首部字段,有的时候优先处理最后一次出现的首部字段。












网友评论