【问题标题】:If you are using Service Workers do you still need cache-control headers?如果您使用的是 Service Worker,您还需要缓存控制标头吗?
【发布时间】:2017-02-26 08:44:32
【问题描述】:

是否有任何用例应该优先使用 cache-control 标头而不是 Service Worker?使用它们有什么好处(除了 SW 不支持跨浏览器)?

【问题讨论】:

    标签: performance caching cache-control service-worker


    【解决方案1】:

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

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

    正确配置的 HTTP 标头对于中间缓存代理 (CDN) 正常工作也是必不可少的。代理对 Service Worker 及其缓存一无所知。

    Jake Archibald 的 Caching best practices & max-age gotchas 对此有更多的了解。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      • 2017-02-17
      • 2015-03-13
      • 1970-01-01
      • 1970-01-01
      • 2011-02-05
      相关资源
      最近更新 更多