HTTP2 协议基于 SPDY 协议(Google 2010 年推出),是 HTTP 1.0/1.1 的升级和优化,主要目标是解决网络性能问题,2015 年公布,得到众多浏览器厂商支持。
介绍
- HTTP2
h2
是 HTTP/2 over TLS
的缩写h2c
是 HTTP/2 over cleartext
的缩写
优点
多路复用(Multiplexing)
- 多路复用允许同时通过单一的 HTTP/2 连接发送多重请求/响应
- HTTP/1.1 协议中,浏览器客户端在同一时间、同一域名下的请求数量有一定的限制,超过的请求会被阻塞
首部压缩(Header Compression)
- SPDY 使用 DEFLATE 算法实现
- HTTP/2 使用 HPACK 算法实现压缩冗余的头部信息
二进制分帧
- 在应用层(HTTP/2)和传输层(TCP/UDP)之间添加的二进制分帧层
- 非明文协议,将数据分为数据帧,有利于组织和传输
服务端推送(Server Push)
- 服务器可以主动向客户端发送
可能
需要的资源 - 服务器对客户端的一个请求发送多个响应
- 根据同源原则,缓存不同页面中可以共享的资源
请求优先级
优先级高的请求可以更快的获得相应安全性增强
禁用了数百种不安全的算法,减少了被攻击的可能不强制加密
客户可以在安全和性能之间自由做选择