IIS的web.config设置是否会干扰ServiceWorker缓存?

时间:2017-10-25 13:51:59

标签: javascript caching iis service-worker

特别是缓存控制属性:

<?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的新手,而不是一个专注的人。没有寻找确切的解决方案,只是试图缩小诊断范围,以便我更清楚地了解要问我的后端开发人员。

谢谢!

1 个答案:

答案 0 :(得分:3)

IIS缓存设置对服务工作者缓存没有影响。请记住,服务器代码和客户端代码完全分离。 您在IIS中设置的是Cache-Control标头值。此值由浏览器缓存使用,而不是服务工作缓存。您可以100%控制缓存的内容以及缓存在服务工作缓存中的时间。