网站加载速度提升-http/2

/ 默认分类 / 0 条评论 / 409浏览

优化对象就是当前这个博客项目了。

实施方案

在nginx中打开http2的功能 nginx官网的http2的文档说明 在http或者server层级中,添加这行代码:

http2 on;

性能对比方法

  1. 开启开发者工具,network栏
  2. 点上disable cache
  3. 硬性加载页面。
  4. 记录加载时间

在http/1.1的条件下:

加载时间分别是 3.67s 3.35s 2.09s 2.23s 2.57s 平均加载时间 2.782s

在http/2的条件下:

加载时间分别是 1.99s 1.99s 1.86s 2.09s 2.45s 平均加载时间 2.076s

提升效果:

(2.782-2.076)/2.782 = 25.37%

原理

多路复用 (Multiplexing)主要加速能力

资源可以并行加载,不会因为等待一个请求的返回而阻塞其他资源的加载,减少了延迟。

头部压缩 (Header Compression) 有效果 当时不是主要关键


效果: 减少了带宽占用,尤其是在加载多个资源时,提升了传输效率。

服务器推送 (Server Push)


连接管理

二进制协议