特别是缓存控制属性:
<?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并未缓存所请求的资产。它也没有抛出错误,所以我想知道它是否只是这个&#34; no-cache&#34;声明妨碍了。
我是ServiceWorkers的新手,而不是一个专注的人。没有寻找确切的解决方案,只是试图缩小诊断范围,以便我更清楚地了解要问我的后端开发人员。
谢谢!
答案 0 :(得分:3)
IIS缓存设置对服务工作者缓存没有影响。请记住,服务器代码和客户端代码完全分离。 您在IIS中设置的是Cache-Control标头值。此值由浏览器缓存使用,而不是服务工作缓存。您可以100%控制缓存的内容以及缓存在服务工作缓存中的时间。