Google chrome 由于Chrome 85 cache.addAll服务工作者不缓存,缓存控制为“0”;“无店铺”;

Google chrome 由于Chrome 85 cache.addAll服务工作者不缓存,缓存控制为“0”;“无店铺”;,google-chrome,service-worker,browser-cache,cache-control,Google Chrome,Service Worker,Browser Cache,Cache Control,如果您在服务人员中使用cache.addAll或cache.add,请注意.htaccess或其他地方的缓存控制配置 对于新版的Chrome 85,使用缓存控制的无存储值可防止服务人员缓存文件 此外,服务人员无法安装,您的网站/应用程序可能会受到影响。编辑:这可能是由于解决了一个问题。 这不是预期的行为。我没有看到任何提到的“没有商店”,我也没有看到任何迹象表明作出了改变 我也无法在Mac的Chrome 85.0.4183.83上重现这个问题 例如,在JS控制台中运行以下代码可以成功添加缓存:

如果您在服务人员中使用
cache.addAll
cache.add
,请注意
.htaccess
或其他地方的
缓存控制配置

对于新版的Chrome 85,使用
缓存控制
无存储
值可防止服务人员缓存文件


此外,服务人员无法安装,您的网站/应用程序可能会受到影响。

编辑:这可能是由于解决了一个问题。

这不是预期的行为。我没有看到任何提到的“没有商店”,我也没有看到任何迹象表明作出了改变

我也无法在Mac的Chrome 85.0.4183.83上重现这个问题

例如,在JS控制台中运行以下代码可以成功添加缓存:

cache = await caches.open('test-cache');
await cache.addAll([
  'https://httpbin.org/response-headers?Cache-Control=no-cache, no-store, must-revalidate&X-Test=1',
  'https://httpbin.org/response-headers?Cache-Control=no-cache, no-store, must-revalidate&X-Test=2',
  'https://httpbin.org/response-headers?Cache-Control=no-cache, no-store, must-revalidate&X-Test=3',
  'https://httpbin.org/response-headers?Cache-Control=no-cache, no-store, must-revalidate&X-Test=4',
  'https://httpbin.org/response-headers?Cache-Control=no-cache, no-store, must-revalidate&X-Test=5',
]);

是什么让你认为它不起作用,你能指出问题的再现吗?

谢谢你的回答。例如,尝试在.htaccess:Header集合缓存控制中使用这一行“无缓存,无存储,必须重新验证”,同时使用单文件缓存也不会显示问题。尝试使用至少包含5个元素的数组,并使用该数组的cache.addAll(数组)。我刚刚更新了示例,使用该
缓存控制
响应标头一次添加5个条目,但仍然无法再现故障。这可能是由于安装服务人员受到限制。这是我上周启用的一项功能,但会导致cache.addAll()出现问题。从今天起我已经禁用了它。它将在下次重新启动浏览器时生效。请参阅.FYI,在修复cache.addAll()的问题后,我已在安装事件中重新启用了限制网络请求。基于试验和测量,我不认为这会再次引起类似这个问题的问题,但我想在这里提及。见: