在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文主要给大家介绍了关于Nginx/Openresty启用http2支持的相关内容,在开始介绍之前,我们先来看一看什么是http2。 以下摘自http2的介绍: HTTP/2 源自 SPDY/2 SPDY 系列协议由谷歌开发,于 2009 年公开。它的设计目标是降低 50% 的页面加载时间。当下很多著名的互联网公司,例如百度、淘宝、UPYUN 都在自己的网站或 APP 中采用了 SPDY 系列协议(当前最新版本是 SPDY/3.1),因为它对性能的提升是显而易见的。主流的浏览器(谷歌、火狐、Opera)也都早已经支持 SPDY,它已经成为了工业标准,HTTP Working-Group 最终决定以 SPDY/2 为基础,开发 HTTP/2。 但是,HTTP/2 跟 SPDY 仍有不同的地方,主要是以下两点:
HTTP/2 的优势 相比 HTTP/1.x,HTTP/2 在底层传输做了很大的改动和优化: HTTP/2 采用二进制格式传输数据,而非 HTTP/1.x 的文本格式。二进制格式在协议的解析和优化扩展上带来更多的优势和可能。 Server Push:服务端能够更快的把资源推送给客户端。例如服务端可以主动把 JS 和 CSS 文件推送给客户端,而不需要客户端解析 HTML 再发送这些请求。当客户端需要的时候,它已经在客户端了。 HTTP/2 主要是 HTTP/1.x 在底层传输机制上的完全重构,HTTP/2 是基本兼容 HTTP/1.x 的语义的(详细兼容性说明请戳这里)。Content-Type 仍然是 Content-Type,只不过它不再是文本传输了。 Openresty/Nginx默认是不支持http2的,需要将http2模块编译进应用中。 下面我们以Openresty为例,介绍编译步骤. 下载openssl-1.0.2l wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz tar -zxvf openssl-1.0.2l.tar.gz 生成编译信息 ./configure --with-http_v2_module --with-openssl=/openssl-1.0.2l 执行编译 make make install 如果不报错,则编译成功。 下面来修改nginx配置文件,重点就是在启用443 ssl的地方启用http2. 如下: server { listen 443 ssl http2; .......... } 执行reload,打开网页验证是否成功。 如果感觉编译麻烦,可以使用我已经编译好的openresty: vikings/openresty:http2 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对极客世界的支持。 |
请发表评论