首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从通过CacheStorage api通过cache.match(req)返回的响应中检索“时间缓存”

从通过CacheStorage api通过cache.match(req)返回的响应中检索“时间缓存”
EN

Stack Overflow用户
提问于 2019-08-30 17:06:55
回答 1查看 379关注 0票数 6

我正在使用新的CacheStorage api,并希望有一个小任务来清理超出特定(生存时间)的旧缓存条目。

在Chrome ->应用选项卡中,我看到了一个“缓存时间”列,但是无法通过api检索它。

代码语言:javascript
复制
const cache = await caches.open(`my-cache`);
const response = await cache.match(new Request(`https://someurl`))
console(response.cachedTime) <- // doesn't exist

我尝试通过日期头获取它,但这只适用于非cors请求。devtools以某种方式跟踪所有请求。是否有办法通过CacheStorage api动态地获取这些信息?

代码语言:javascript
复制
// this is not a bullet proof method
// doesn't work for cors or if response doesn't send a Date header
console.log(response.headers.get(`date`));

我试着扔掉所有的回复并检查它,但我没有发现任何有用的东西。

EN

回答 1

Stack Overflow用户

发布于 2022-12-01 13:22:35

我做了大量的研究,但没有发现任何结论。

最后,我检查了Date响应头(由大多数API返回),以了解该资源的使用时间。

如果缺少Date响应头,我只是不缓存响应并在控制台中打印警告。

注意,由于CORS配置,API可以返回不可访问的Date头(请查看Access-Control-Expose-Headers响应头以了解更多信息)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57730731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档