一、http/1.1和http2有什么区别

1.多路复用 (Multiplexing) //这个可以大大降低前端优化的成本,多路复用可以在请求比较多的情况下减少阻塞。

2.首部压缩 (Header Compression)

3.服务端推送(Server Push)



4.阿里云栖博客中写到:普通的 HTTPS 网站浏览会比 HTTP 网站稍微慢一些,因为需要处理加密任务,而配置了 h2 的 HTTPS,在低延时的情况下速度会比 HTTP 更快更稳定!

更多具体细节,可以看一下知乎网友的回答:HTTP/2.0 相比1.0有哪些重大改进? – Leo Zhang的回答 – 知乎 https://www.zhihu.com/question/34074946/answer/75364178



二、http2目前的普及情况

http2是2015年中正式发布的。到目前为止,基本上所有现代浏览器都支持http2。而且http2是兼容http/1.1的,所以无需担忧。

三、更换你的nginx版本

1.从 Nginx 1.9.5 开始支持http2。一般来说,服务器自带的nginx都是旧于这个版本的,需要升级到更新的版本。

2.本人的服务器基于ubuntu,可以直接用ppa源更新。



sudo add-apt-repository ppa:ondrej/nginx
sudo apt-get update
sudo apt-get install nginx
sudo nginx -v
//最后一行确认版本升级成功

3.如果是其它版本的linux服务器或者不可以直接升级nginx,可以尝试自己手动编译nginx。

4.需要自己手动编译的话,可以参考一下phodal的文章,作者是个比较活跃的博主,在知乎上也见过他不少的分享。



《Nginx HTTP2 编译》

四、调整nginx配置文件

1.修改你网站对应的nginx配置文件

我的网站目前全站启用https,所以只需要配置443端口。

listen 443 http2;
listen [::]:443 http2;

2.执行nginx -t (非root环境下要sudo nginx -t),检测nginx配置是否有错误。没有错误就重启nginx使其生效。

如果网站访问量较大的情况下,请务必先测试一下文件配置是否有错,避免导致服务不可用!

3.用在线测试工具测试一下,是否生效。

推荐两个免费测试

  1. 又拍云:https://www.upyun.com/
  2. 国外的:https://cdnsun.com/knowledgebase/tools/http2-support-test/

4.测试完是否支持http2之后,不妨用站长工具测试一下实际的加载速度。

站长工具免费测速:http://tool.chinaz.com/speedtest.aspx

  1. 以本人网站为例,没有开启http2之前,总耗时一般在800ms-1000ms之间,加载速度在40-70KB/s。
  2. 开启http2之后,总耗时在200-300ms,加载速度在100-150KB/s,性能提升很明显。

 

五、看完上面的介绍,是否很心动?马上升级你的nginx试试吧。

同时,欢迎扫描文章底部二维码,关注本人的公众号!!!



http://xzh.i3geek.com

爱唠叨的老鱼

爱唠叨的老鱼

技术经理,个人站长,创业者

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据