尝试实现HTTP2推动



从我阅读的内容(包括粉碎的杂志文章和Akamai文章)中实现HTTP2服务器推送的内容包括仅在网站上的页面中添加一个或两个标题。例如:

Link: </css/styles.css>; rel=preload; as=style
Link: </js/common.js>; rel=preload; as=script

这是准确的吗?真的很容易吗?

它完全取决于您正在运行的Web服务器以及如何实现HTTP/2推动(如果它完全这样做)。

使用链接标头为Apache工作。当前不支持NGINX的服务器推动。一些CDN也通过链接标头实施。

但是,即使它很容易启用,您也可能不会没有进一步的思考。问题是,虽然这可能会加快第一个负载,并且您的JavaScript和CSS之后会被缓存(您正在缓存资源客户端,不是吗?/2直到您获得正确的基础)。因此,如果您推动它已经缓存时,那就是浪费。现在,浏览器可以停止推动,如果它不需要该资源,因为它在此示例中已经像它一样,但是它仍然需要时间和精力,而对于少量资源(例如CSS或JavaScript),它可能几乎具有停止时下载。

因此,只有在客户需要资源的可能性很大的可能性时才能推动。缓存挖掘将是客户端告诉服务器所在的资源的一种方式,因此请帮助服务器决定是否推动推动,但是它仍然是一项正在进行的工作,并且如果有任何浏览器支持它,则不会离开。同时,我在Apache中完成了一个简单的基于cookie>

最新更新