众所周知浏览器是通过Last-Modified和Expires来处理缓存的,具体机制就不做解释,而在具体调试中发现并不按我们想象的方式进 行,其原因很有可能是在刷新浏览器的时候采用不恰当的方式导致。对于大多数浏览器而言,都包含有三种刷新方式,以下我们以IE浏览器为例:
F5 刷新
Ctrl+F5 刷新
“转至”或地址栏里回车 刷新
这些快捷键的功能,主流浏览器都是相同的。
而这三种刷新方式会导致浏览器采取不同的缓存机制:
F5:不允许浏览器直接使用本地缓存,因此Last-Modified能起作用,但Expires无效
Ctrl+F5:是强制刷新,因此缓存机制失效
“转至”或地址栏里回车:正常的访问,Last-Modified和Expires都有效
知道浏览器刷新还有这么一回事后,那么以后在项目调试的过程中就不会感到疑惑了。
总结一下可以这样认为:浏览器在刷新的时候是把上一次的post参数给记忆下来并重新传递给了服务器,不管在这个过程中你是否做什么样的改动,他一概不予理会,而是忠实的把上一次所有POST的参数原封不动的重新发送给服务器罢了.所以我的问题最终结论是无解的!!!悲哀~~~
我刚刚看了一下博客园的首页翻页似乎类似的做法,不过更糟糕的是,在非第一页刷新页面直接就跑回第一页去了.