【发布时间】:2011-06-28 09:30:23
【问题描述】:
缓存控制标头“no-cache, must-revalidate, private”允许浏览器缓存资源,但通过条件请求强制重新验证。这在 FF、Safari 和 Chrome 中按预期工作。
但是,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 错误,但我在网上没有找到任何相关的东西,所以我想知道是否存在另一个 header 的缺失或存在导致 IE 行为异常?
关于 no-cache 和 max-age 区别的很好的讨论:What's the difference between Cache-Control: max-age=0 and no-cache?
【问题讨论】:
-
进入 Internet 选项==>常规选项卡==>浏览历史记录部分==>设置...按钮。查看“检查存储页面的较新版本:”选择器。确认此缓存行为是否与其设置相关联(对于大多数用户来说,它应该是自动)。
-
它不与此行为相关。
标签: internet-explorer http-headers browser-cache cache-control