【问题标题】:Service worker: Caching requests for one-time URLs without ignoreSearch服务工作者:缓存一次性 URL 的请求而不使用 ignoreSearch
【发布时间】:2015-12-28 03:16:39
【问题描述】:

我想使用服务工作者来缓存一次性(过期)网址。

例如,假设我有一个使用过期 URL 的音频文件。每次请求时,URL 都是不同的(尽管只有查询字符串不同):

http://example.com/foo.mp3?expires=123412341234&secret=abcabcabc
http://example.com/foo.mp3?expires=234523452345&secret=bcabcabca
http://example.com/foo.mp3?expires=345634563456&secret=cfewegfwe

我希望仅将其缓存为http://example.com/foo.mp3,不包含查询字符串,以便任何后续请求(即使使用新查询字符串)都使用缓存。

我知道 Service Worker 缓存中的“ignoreSearch”选项,该选项似乎已添加到规范中,正是针对此用例。但是在 Chrome 中还没有实现 ignoreSearch。在 Chrome 实现此功能之前,我是否运气不佳,或者是否有解决方法?

【问题讨论】:

    标签: javascript service-worker


    【解决方案1】:

    想出了我自己问题的答案。

    解决方案是利用 Service Worker 为您提供多个缓存(您可以控制其名称)这一事实。只需为每个文件创建一个单独的缓存,每个缓存只包含一个请求。我在http://www.holovaty.com/writing/service-worker-cache-names/

    发布了代码和详细的文章

    【讨论】:

      猜你喜欢
      • 2016-05-18
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      相关资源
      最近更新 更多