我有一些Max-Age
附加了缓存控制标头的静态内容,因此客户端将缓存静态内容。但是,当有错误响应建议客户端对其进行缓存时,IIS 7.5仍会发送此标头。
这具有负面影响,即某些代理随后将缓存该错误响应。我可以,Vary: Accept,Accept-Encoding
但这不能真正解决Max-Age
错误响应的根本问题。
当前相关的IIS web.config
部分是:
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
有没有办法让我做到这一点,使我们不告诉客户或代理缓存400/500错误代码?
您是否正在使用自定义错误页面?
—
贾斯汀·尼斯纳
@贾斯汀-不,在这种情况下不
—
尼克·克雷弗
IIS 7.0不会为我发送40 *的Max-Age。我不确定IIS版本之间是否存在差异。
—
David Murdoch
另外,如何强制静态内容发送500个错误代码?
—
David Murdoch 2012年
以@DavidMurdoch为例,当用户请求javascript时,我们看到406个带有缓存控制标头的响应,但客户端仅接受图像MIME类型。代理正在遵守此缓存指令(按照规范,它们应该这样做),其他用户无法下载该脚本。
—
Jarrod Dixon