Nginx 于 2 月 20 日更新了 Nginx 1.13.9 版本,添加了 HTTP/2 Server Push 的支持,好像 Apache 还有 Caddy 什么的早就支持了,Nginx 算是姗姗来迟,所以本站也在第一时间编译安装了最新的 Nginx 版本并开启了 Server Push.

那么,首先,什么是 Server Push 呢?
我给 Server Push 的翻译就是服务器推送,是 HTTP/2 新增的功能,简单来说,举一个例子。
你有一个网页,网页内外联了一个 JavaScript 脚本,比如 example.html 源码含有 <script src="example.js"></script> 然后客户端就是正常下载 example.html 读取到源码的这个外联的 JS 脚本,再去对应的地址下载脚本,这样一来二去的显然浪费了一些时间。那你使用 Server Push 的话,就可以在访问 example.html 的时候,服务器直接推送 example.js 这样浏览器读 html 的时候看到这个 js 就直接拿来用了。
关于 Server Push 的具体细节,百度上可以搜到一定数量的文章了,质量也可以,想深入了解的话可以去看看。
如何在 Nginx 中使用 Server Push 呢?
官方文档中自然给了用法啦。
在配置文件中直接 http2_push /static/css/main.css; 注意要使用相对路径,默认值是 off.
还有就是 http2_push_preload,就是预加载,参数只有 on 和 off.这个预加载我也没有仔细看文档,不太懂什么意思。
如果你打开 F12 就会发现本站的 css 是使用了 Server Push 的。
具体的东西等研究文档后再做描述(应该没有以后了)