HTTP 2.0 与 HTTP 1.1
分享汇总 文章汇总
原文链接 GitHub 地址
HTTP 协议基本都是面试必考,除了一些经典面试题外,对于 HTTP 2.0 这种新兴事物 ,也应该有所了解
HTTP 1.1 存在的问题
HTTP 1.1 的问题主要是性能低下
-
高延迟带来的加载速度慢
-
就算网络带宽增加,延迟并没有下降
- 并发连接有限
-
同一连接只能在完成一个 HTTP 事务之后,才能处理下一个
-
无状态特性带来的巨大的 HTTP 头部
-
重复传输一些 HTTP 头部
因为 REST 架构要求无状态,每次 HTTP 请求之间都是独立的,所以每个 HTTP 请求都要带着巨大的头部
-
不支持服务端推送
HTTP 1.1 的交互模式是请求应答模式,只能客户端给服务端发送请求,服务端应答。服务端是不能主动推送消息的。
HTTP 2.0 的主要特性
-
传输数据量大幅减少
-
二进制传输
例如一个数字 10000 如果使用 ASCII 编码需要 5 字节
-
标头压缩
标头压缩主要是通过 HPACK 算法对头部压缩
-
多路复用
多路复用允许多次请求并发的使用同一连接进行,主要好处有:
- 同一 TCP 连接只有一次慢启动,避免了 TCP 多次慢启动。并且减少 TCP 连接
-
对于服务端来讲,一个 TCP 连接服务了多组资源
-
支持服务端消息推送
HTTP 2.0 主要是性能的提升,大家可以通过这个 Demo 感受一下 Demo