HTTP / 2服务器推送和浏览器缓存

时间:2018-12-26 17:25:59

标签: server push browser-cache http2

我阅读了一些有关HTTP / 2服务器推送的文档。

博客所有者说:

  

但是,服务器推送存在一个非常令人头疼的问题。如果浏览器已经缓存了要推送的资源文件,则推送只是浪费带宽。

另一个人说:

  

由于服务器推送会将资产作为不同的HTTP对象(每个都有其自己的Cache-Control标头)发送到客户端,因此它们可以像其他任何东西一样被浏览器缓存。

我的问题是,HTTP / 2推送和浏览器缓存都运行良好吗?或者,如果我为某些资产激活了HTTP / 2推送功能,浏览器缓存将不适用于这些资产?

1 个答案:

答案 0 :(得分:0)

如果您推送资源并且页面需要使用它,它将被保存到浏览器缓存中,以备下次使用。

问题在于如果您更改资源,然后再次推送它,但是旧版本已经在浏览器缓存中,并且缓存控制标头说它仍然有效,那么尽管您发现了以下事实,浏览器仍将使用旧缓存版本已推出新版本。因此,这是浪费的推动力。

herehere以及即将发布的Chapter 5 of my book上的优秀博客文章也对此进行了介绍。