nginx HTTP / 2模块是否支持Server Push?

时间:2015-11-05 05:17:50

标签: ssl nginx server-push http2

我计划将我的nginx升级到支持HTTP / 2的1.9.6。

让nginx实现HTTP / 2服务器推送吗?

REF: https://ma.ttias.be/service-side-push-http2-nghttp2/

4 个答案:

答案 0 :(得分:19)

是的,Nginx支持自2018年2月20日发布的version 1.13.9以来的HTTP / 2服务器推送。

Nginx团队在原1.9.5 blog post中指出当时不支持它。

答案 1 :(得分:14)

编辑:

自2018年2月20日发布的v1.13.9起,Nginx支持HTTP / 2服务器推送。

旧答案:

截至2017年3月(v1.11),Nginx不支持HTTP / 2服务器推送。

nginx的Owen Garrett总结了如下原因:

  • 它是http / 2

  • 的非必要和可选部分
  • 如果客户端已经缓存了资源,那么通过将其推送到它们,您可能会不必要地浪费带宽。

  • 服务器推送规范可能会在未来发生变化。

  • 链接标题作为提示很有用,但Web开发人员的使用率很低。

  • 服务器推送已作为SPDY的一部分提供,并未被许多Web开发人员使用。

阅读他原来的评论here。这个table准确地描述了服务器提示与服务器推送的关系和配置。

就个人而言,这令我失望,因为我认为这对于愿意投入时间来优化页面速度的Web开发人员来说是一个很有价值的功能。我也知道像Cloudflare这样的大型CDN已经在nginx中实现了自己的版本,以优化页面下载。

答案 2 :(得分:3)

截至2018年2月8日,nginx已添加对http / 2服务器推送的支持:

https://hg.nginx.org/nginx/rev/641306096f5b

答案 3 :(得分:-5)