浏览器的缓存是一个比较复杂但是比较重要的机制,在我们浏览一个页面时发现有异常情况,通常考虑的就是:浏览器是否做了缓存。
当浏览器做了缓存,而我们需要请求最新的页面内容的时候,通常的做法是按Ctrl+F5组合键重新请求一次这个页面。Ctrl+F5组合键刷新页面,浏览器会直接向目标URL发送请求,而不是使用浏览器缓存的数据。
当我们使用Ctrl+F5组合键刷新页面时,在HTTP的请求头中会增加一些内容,它告诉服务器我们要获取的是最新的数据而不是缓存。
当使用浏览器的缓存数据时,如下图所示:
当使用Ctrl+F5刷新页面时:
这次请求从服务器返回的数据,最重要的是在请求头中增加了两个数据项:Program:no-cache和Cache-Control:no-cache
Expires后面跟着一个日期和时间,超过这个时间值后,缓存的内容将
消失。也就是浏览器在发出请求之前,先检查这个属性,看该页面是否已经过期了,过期了就向服务器重新发起请求,例如:
Expires:Thu, 14 Apr 2016 13:05:28 GMT