【问题标题】:Do the web.config settings for IIS interfere with a ServiceWorker caching?IIS 的 web.config 设置是否会干扰 ServiceWorker 缓存?
【发布时间】:2017-10-25 13:51:58
【问题描述】:

特别是缓存控制属性:

<?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 时,当我模拟离线场景时,我没有得到任何缓存的内容。你找到解释了吗?

标签: javascript caching iis service-worker


【解决方案1】:

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

【讨论】:

  • 太棒了,这是我需要确定的。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
  • 2016-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多