缓存数据量未加起来

时间:2019-05-25 15:21:16

标签: javascript caching service-worker workbox

我认为要缓存的内容与chrome开发工具告诉我已缓存的数据量之间似乎存在巨大差异。

我尝试使用工作箱从Firebase存储中缓存图像,以及使用缓存API并拦​​截提取请求的原始服务工作程序代码。但是,无论我做什么,我总是以这样的https://imgur.com/a/clDBq8f结尾。我的服务工作者代码几乎已从工作箱文档中删除,进行了缓存(尽管结果与原始JS相同)。

workbox.routing.registerRoute(
/.*firebasestorage.googleapis.com.*\/chaptail.appspot.com.*\/Users.*media&token/,
  new workbox.strategies.CacheFirst({
    cacheName: 'image-cache',
    plugins: [
      new workbox.expiration.Plugin({
        maxEntries: 300,
        maxAgeSeconds: 365* 24 * 60 * 60,
      })
    ],
  })
);

老实说,我开始觉得Chrome开发人员工具错了,尽管这似乎不太可能。但是,我实在无法接受这样的事实,即它实际上显示的是小于100KB的数据,它显示了100MB的数据。我是在做错什么大事,还是Chrome开发人员的工具弄乱了我?

1 个答案:

答案 0 :(得分:1)

这是设计使然。

当您从其他域缓存资产时,SW会将其作为不透明的响应来处理。不透明的响应会限制响应中的某些信息,并通过将其伪装为约7兆左右来隐藏实际大小。

检查What limitations apply to opaque responses?