功能介绍
HTTP/2也被称为HTTP 2.0,是最新的HTTP协议。目前,Chrome、 IE11、Safari以及Firefox 等主流浏览器已经支持 HTTP/2协议。HTTP/2优化了性能,兼容了HTTP/1.1的语义,与SPDY相似,与HTTP/1.1有巨大区别。
SPDY是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。SPDY并不是一种用于替代HTTP的协议,而是对HTTP协议的增强。新协议的功能包括数据流的多路复用、请求优先级以及HTTP报头压缩,与HTTP/2相似。
HTTP/2的优势
- 二进制协议:相比于HTTP 1.x 基于文本的解析,HTTP/2将所有的传输信息分割为更小的消息和帧,并对它们采用二进制格式编码。基于二进制可以让协议有更多的扩展性,比如引入了帧来传输数据和指令。
- 内容安全:HTTP/2基于HTTPS,因此天然具有安全特性。通过HTTP/2的特性可以避免单纯使用HTTPS的性能下降。
- 多路复用(MultiPlexing):通过该功能,在一条连接上,您的浏览器可以同时发起无数个请求,并且响应可以同时返回。另外,多路复用中支持了流的优先级(Stream dependencies)设置,允许客户端告诉服务器哪些内容是更优先级的资源,可以优先传输。
- Header压缩(Header compression):HTTP请求头带有大量信息,而且每次都要重复发送。HTTP/2 采用HPACK格式进行压缩传输,通讯双方各自缓存一份头域索引表,相同的消息头只发送索引号,从而提高效率和速度。
- 服务端推送(Server push):同SPDY一样,HTTP/2 也具有客户端推送功能。目前,有大多数网站已经启用HTTP/2,如淘宝。使用Chrome浏览器登陆控制台,您可以查看是否启用 HTTP/2 。
升级HTTP2必要条件
- nginx 1.9.5版本以上
- nginx基于1.0.2以上版本的openssl编译
- 必须支持https
升级openssl
openssl官网地址:https://www.openssl.org/source/
1 | # 下载openssl |
升级nginx
nginx官网地址:http://nginx.org/en/download.html
1 | # 下载nginx |
配置nginx
配置文件增加以下配置
1 | listen 443 ssl http2; |