特别是缓存控制属性:
<?xml version="1.0"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="no-cache" />
</customHeaders>
</httpProtocol>
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json; charset=utf-8"/>
</staticContent>
</system.webServer>
</configuration>
我正在使用 Node 服务器进行本地开发,一切正常,但在我们的部署服务器上,应用程序在 IIS 实例中运行,并且 ServiceWorker 不会缓存请求的资源。它也不会抛出错误,所以我想知道是否只是这个“无缓存”声明妨碍了。
我对 ServiceWorkers 非常陌生,根本不是一个 DevOps 人员。不是寻找确切的解决方案,只是想缩小诊断范围,以便我更清楚地知道该向后端开发人员询问什么。
谢谢!
最佳答案
IIS 缓存设置对服务工作线程缓存没有影响。请记住,服务器代码和客户端代码是完全解耦的。 您在 IIS 中设置的是 Cache-Control header 值。该值由浏览器缓存使用,而不是服务工作线程缓存。您可以 100% 控制缓存的内容以及在服务工作线程缓存中缓存的时间。
关于javascript - IIS 的 web.config 设置是否会干扰 ServiceWorker 缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46934274/