缓存控制头“no-cache,must-revalidate,private”允许浏览器缓存资源,但强制使用条件请求进行重新验证。这在FF,Safari和Chrome中按预期工作。使IE缓存资源,但总是重新验证
但是,IE7 + 8不发送条件请求,即请求头中缺少“If-Modified-Since”,因此服务器使用HTTP/200而不是HTTP/304进行响应。
这里有完整的服务器响应标题:
Last-Modified: Wed, 16 Feb 2011 13:52:26 GMT
Content-type: text/html;charset=utf-8
Content-Length: 10835
Date: Wed, 16 Feb 2011 13:52:26 GMT
Connection: keep-alive
Cache-Control: no-cache, must-revalidate, private
这似乎是一个IE浏览器的bug,但我还没有在网上找到相关的东西,所以我不知道是否有另一个头的也许不存在或存在使IE看起来很奇怪?
无缓存和最大年龄的区别的一个很好的讨论:What's the difference between Cache-Control: max-age=0 and no-cache?
进入Internet选项==>常规选项卡==>浏览历史记录部分==>设置...按钮。看看“检查存储页面的更新版本:”选择器。确认此缓存行为是否与其设置相关联(对于大多数用户而言,它应该是自动的)。 – rskar 2011-02-16 14:43:53
它不**与此行为相关联。 – alienhard 2011-02-16 17:17:01