如果您正在使用Service Worker,您还需要缓存控制标头吗?

时间:2017-02-26 08:44:32

标签: performance caching cache-control service-worker

是否存在使用cache-control标题优先于服务工作者的用例?使用它们是否有任何好处(除了SW不支持跨浏览器)?

1 个答案:

答案 0 :(得分:8)

绝对。 HTTP缓存由HTTP缓存标头控制,位于网络和服务工作者之间。从服务工作者发起的所有fetch请求仍使用HTTP缓存。

假设您有一个长max-age的脚本。大多数服务工作者每次安装时都会重新填充缓存,也就是说,每次服务工作者脚本中的某些内容发生变化时都会重新填充缓存。但是,如果正确配置了HTTP缓存头,则许多要包含在Service Worker缓存中的资源仍将存在于HTTP缓存中,并且可以在不涉及网络的情况下获取。

正确配置的HTTP标头对于中间缓存代理(CDN)正常工作也很重要。代理人对服务工作者及其缓存一无所知。

Jake Archibald在Caching best practices & max-age gotchas中的更多内容。