IT技术博客大学习 共学习 共进步

关于页面的cache控制

PHPor 的Blog 2010-11-15 22:17:23 浏览 3,044 次

    工作中遇到一个页面,该页面是不能cache的,但是其http头是这么写的:

    Cache-Control: max-age=0

    Pragma: no-cache

    Cache-Control: post-check=0, pre-check=0

    在我的IE8中,该页面是被cache了一小段时间的,不知道是按照时间还是命中次数cache的,反正访问几次(5/6次吧)cache之后,就重新请求了。

    通过fiddler添加cache-control来调试(这个页面不是我们自己的),发现添加了:

    Cache-control: no-cache

    或

    Cache-control: no-store

    或

    Cache-control: no-cache,no-store

    都是可以的。一般来讲我们使用第三种写法,至少no-store 对于FF下面的后退是有效的

    --------------------------------------------------------------------

    关于fiddler的一点说明:

    fiddler可以添加请求头和响应头,但是你知道fiddler做的是一个代理,对于添加的请求头你在httpwatch中是看不到的。另外,由于该页面是需要登录后访问的,似乎在服务器端做了cache方面的控制,当我把Cache-control错加到请求头时,总是显示未登录状态了。

    请求头和响应头都是可以在filter里面设置的。

建议继续学习

  1. Buffer和cache的区别是什么? (阅读 7,842)
  2. 谈冷热数据 (阅读 6,884)
  3. Linux操作系统中内存buffer和cache的区别 (阅读 6,341)
  4. Twitter架构图(cache篇) (阅读 5,982)
  5. 学习:一个并发的Cache (阅读 5,963)
  6. 关于Linux的文件系统cache (阅读 5,823)
  7. 7个示例科普CPU Cache (阅读 5,262)
  8. 详解MyISAM Key Cache(前篇) (阅读 4,881)
  9. [squid] 过期时间在 60 秒内 squid 不 Cache 的问题 (阅读 4,862)
  10. 为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?) (阅读 4,361)