Asp.Net - ClientCache - 它会因文件类型而异吗?
Asp.Net - ClientCache - can it vary by file type?
我一直在看,并在我目前正在进行的开发项目中实施了客户端缓存。
因为我正在使用 Asp.Net,所以我直接使用以下代码更新了 web.config 文件:
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
我还实现了一个 'fingerprinting' 解决方案,它允许我自动从缓存中过期 CSS 和脚本文件。
但是,我开始考虑如果图像发生变化怎么办 - 假设它被修改并重新上传而没有重命名。在这种情况下,我不一定希望浏览器继续缓存旧版本的图像长达一年。
因此问题是可以使用 web.config 静态内容部分为不同的文件类型设置不同的缓存持续时间吗?
您可以使用位置路径将缓存限制到文件夹甚至特定文件。不确定你是否可以做类似 *.pdf
的事情。此处可能的选项:Can I use wildcards in the web.config location path attribute?
<location path="images">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
</system.webServer>
</location>
我一直在看,并在我目前正在进行的开发项目中实施了客户端缓存。
因为我正在使用 Asp.Net,所以我直接使用以下代码更新了 web.config 文件:
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
我还实现了一个 'fingerprinting' 解决方案,它允许我自动从缓存中过期 CSS 和脚本文件。
但是,我开始考虑如果图像发生变化怎么办 - 假设它被修改并重新上传而没有重命名。在这种情况下,我不一定希望浏览器继续缓存旧版本的图像长达一年。
因此问题是可以使用 web.config 静态内容部分为不同的文件类型设置不同的缓存持续时间吗?
您可以使用位置路径将缓存限制到文件夹甚至特定文件。不确定你是否可以做类似 *.pdf
的事情。此处可能的选项:Can I use wildcards in the web.config location path attribute?
<location path="images">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
</system.webServer>
</location>