是否存在使用cache-control
标题优先于服务工作者的用例?使用它们是否有任何好处(除了SW不支持跨浏览器)?
答案 0 :(得分:8)
绝对。 HTTP缓存由HTTP缓存标头控制,位于网络和服务工作者之间。从服务工作者发起的所有fetch
请求仍使用HTTP缓存。
假设您有一个长max-age
的脚本。大多数服务工作者每次安装时都会重新填充缓存,也就是说,每次服务工作者脚本中的某些内容发生变化时都会重新填充缓存。但是,如果正确配置了HTTP缓存头,则许多要包含在Service Worker缓存中的资源仍将存在于HTTP缓存中,并且可以在不涉及网络的情况下获取。
正确配置的HTTP标头对于中间缓存代理(CDN)正常工作也很重要。代理人对服务工作者及其缓存一无所知。
Jake Archibald在Caching best practices & max-age gotchas中的更多内容。