HTTP1.0、HTTP1.1和HTTP 2区别
0. HTTP版本历史
1. HTTP 1.0和HTTP 1.1 区别
HTTP 1.0的缺点——请求效率低
a. 每个TCP连接只能发送一个请求
b. 长连接需要Connection: keep-alive指明
HTTP 1.1 改进
- 默认持久连接:即TCP连接默认不关闭,不用声明Connection: keep-alive
- 管道机制:在同一个TCP连接里面,客户端可以同时发送多个请求,进一步提高效率
2. HTTP 1.1 和HTTP2的区别
HTTP 1.1的缺点——队头堵塞
虽然1.1版允许复用TCP连接,但是同一个TCP连接里面,所有的数据通信是按次序进行的。
HTTP 2.0 改进
- 多路复用:支持一个TCP连接里面并发地处理多个请求(即不用按照顺序)
- 二进制协议:HTTP/2 则是一个彻底的二进制协议,头信息和数据体都是二进制,并且统称为“帧”
- 头信息压缩: 头信息使用gzip或compress压缩后再发送; 客户端和服务器同时维护一张头信息表,字段对应索引号,只发送索引号
- 服务器推送: HTTP/2 允许服务器未经请求,主动向客户端发送资源
上一篇:
Java架构师技术进阶路线图
下一篇:
网络协议TCP和UDP的基本原理