![IIS 输出缓存似乎不缓存静态文件](https://linux22.com/image/766490/IIS%20%E8%BE%93%E5%87%BA%E7%BC%93%E5%AD%98%E4%BC%BC%E4%B9%8E%E4%B8%8D%E7%BC%93%E5%AD%98%E9%9D%99%E6%80%81%E6%96%87%E4%BB%B6.png)
我已经配置了以下缓存,并且我也使用了其他方案,但我无法使用以下命令使我的 JS 文件显示在缓存中。所以我不认为它们在缓存我的 .js 文件。我还需要做什么吗?
netsh http 显示缓存
netsh http 显示缓存状态
<caching>
<profiles>
<add extension=".js" policy="CacheUntilChange" kernelCachePolicy="DontCache" varyByQueryString="*" />
</profiles>
</caching>
我的失败请求日志有很多内容,但这个看起来很有趣。不知道这意味着什么。
<RenderingInfo Culture="en-US">
<Opcode>HTTPSYS_CACHEABLE</Opcode>
<Keywords>
<Keyword>Cache</Keyword>
</Keywords>
<freb:Description Data="Reason">IP_RESTRICTION_SET</freb:Description>
<freb:Description Data="CachePolicy">NO_CACHE</freb:Description>
</RenderingInfo>
答案1
您需要使用 system.webServer 中的 staticfiles 及其 clientCache 元素来启用静态文件的缓存标头。
https://docs.microsoft.com/en-us/iis/configuration/system.webServer/staticContent/clientCache了解详情