HTTP协议进阶:Keep-Alive、缓存机制与内容协商

HTTP/1.0 vs HTTP/1.1 HTTP/1.0的问题 短连接(每次请求都要三次握手): 客户端 → 服务器: SYN(握手) 客户端 ← 服务器: SYN-ACK 客户端 → 服务器: ACK 客户端 → 服务器: GET /index.html 客户端 ← 服务器: HTTP/1.0 200 OK 客户端 → 服务器: FIN(挥手) 下一个请求又要重新握手! 问题: 每个请求都要建立TCP连接(+1.5 RTT延迟) 频繁握手挥手,浪费资源 服务器TIME_WAIT状态过多 HTTP/1.1的改进 1. 持久连接(Keep-Alive):默认开启 # HTTP/1.1请求 GET /api/users HTTP/1.1 Host: api.example.com Connection: keep-alive # HTTP/1.1响应 HTTP/1.1 200 OK Connection: keep-alive Keep-Alive: timeout=5, max=100 一个TCP连接,多个HTTP请求: 客户端 → 服务器: 三次握手 客户端 → 服务器: GET /api/users 客户端 ← 服务器: 200 OK 客户端 → 服务器: GET /api/orders # 复用连接 客户端 ← 服务器: 200 OK 客户端 → 服务器: GET /api/products # 复用连接 客户端 ← 服务器: 200 OK ...(5秒后无请求,关闭连接) 2. 管道化(Pipelining):不等响应,连续发送请求 ...

2025-11-20 · maneng

如约数科科技工作室

浙ICP备2025203501号

👀 本站总访问量 ...| 👤 访客数 ...| 📅 今日访问 ...