从我读过的所有内容来看,'cache-control:no-cache'是告诉浏览器在任何情况下都不会缓存响应的砖墙。但是IE9(在我的虚拟机中 - 微软运行Windows 7环境的IE特定虚拟机)仍然可以缓存一切。以下是我的devtools网络标签中的示例请求:
Request GET /main/data/status/logs?page=0 HTTP/1.1
Pragma no-cache
Accept application/json
Cache-Control no-cache
Expires -1
Referer http://10.20.etc..
Accept-Encoding gzip, deflate
User-Agent Mozilla/5.0(compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Host 10.20.etc..
(我在没有“Expires”参数的情况下尝试了这个) - 然后是响应:
Response HTTP/1.1 304 Not Modified
Content-Type application/json
Transfer-Encoding chunked
有很多关于响应缓存的资源 - 特别是处理IE - 但我找不到任何最终没有说'no-cache'是这里的最后一道防线。它为我的IE10 VM提供了技巧。
这些标题不够的任何情况?