众所周知浏览器是通过Last-Modified和Expires来处理缓存的,具体机制就不做解释,而在具体调试中发现并不按我们想象的方式进行,其原因很有可能是由于你的不同刷新方式导致。
对于大多数浏览器而言,有三种刷新方式:
- F5
- Ctrl+F5
- “转至”或地址栏里回车
而这三种刷新方式会导致浏览器采取不同的缓存机制:
- F5:不允许浏览器直接使用本地缓存,因此Last-Modified能起作用,但Expires无效
- Ctrl+F5:是强制刷新,因此缓存机制失效
- “转至”或地址栏里回车:正常的访问,Last-Modified和Expires都有效
知道有这么一回事后就不会在调试中感到疑惑了。