我看到一些使用浏览器缓存的静态页面问题,这是不希望的。为了防止缓存,我正在设置
<clientCache cacheControlMode="DisableCache" />
在web.config
中的相关<location>
标记中
如果我在Firebug中打开页面(在 Net 标签中),我看到响应标头的Cache-Control: no-cache
是正确的,但响应的状态为 304未修改!这不是一个矛盾吗?如何让它停止缓存(即始终发送带有内容的200)?
答案 0 :(得分:4)
根据RFC(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1,第14.9.1节)缓存控制:no-cache告诉浏览器在没有首先使用服务器重新验证的情况下不使用缓存的内容。这就是你看到304的原因。我想你正在寻找Cache-Control: no-store
。
我不确定您是否可以通过配置文件发送no-store。但是,您可以在响应中明确设置标题:
Response.Cache.SetNoStore();
编辑:(按OP)
我在寻找的是:
<clientCache cacheControlCustom="no-store" />