当我们浏览一个页面时发现有异常的情况下,通常考虑的就是浏览器是不是做了缓存,所以一般的做法就是按Ctrl+F5组合键重新请求一次这个页面,重新请求的页面肯定是最新的页面。因此按Ctrl+F5组合键刷新页面,浏览器会直接向目标URL发送请求,而不会使用浏览器缓存的数据。
为了保证用户能够看到最新的数据,必须通过HTTP来控制。当使用Ctrl+F5组合键刷新页面时,会在HTTP的请求头中增加一些请求头,它告诉服务器我们要获取最新的数据而不是缓存。在请求头中增加了两个请求项Pragma:no-cache和Cache-Control:no-cache。
- Cache-Control/Pragma
- Expires
该字段指定缓存失效时间,后面跟着一个日期和时间,超过该时间值,缓存的内容将失效,浏览器在发出请求之前会检查该字段,看也没是否过期,如果过期了就重新向服务器发起请求。
- Last-Modified/Etag
Last-Modified字段一般用于表示一个服务器上的资源的最后修改时间
Etag字段的作用是让服务器给每个页面分配一个唯一的编号,然后通过这个编号来区分当前这个页面是否是最新的
上面的字段,可以通过浏览器插件来查看,Chrome——更多工具——开发者工具——Network(最上栏)