浏览器缓存

一、首先是走强制缓存,这时候有三种情况:

  1、不存在该缓存结果和缓存标识,那当然是缓存失败了,然后再直接向服务器发起请求。

  2、存在该缓存结果和缓存标识,但该结果已失效(没死透),则使用协商缓存。

  3、存在该缓存结果和缓存标识,且该结果尚未失效,直接返回该结果。

二、协商缓存,通过两对标识,向服务器判断是否使用失效的缓存结果

  1、Etag / If-None-Match 比 Last-Modified / If-Modified-Since 优先级高。

  2、浏览器使用 If-None-Match 或者 If-Modified-Since 向服务器发起请求,如果200则是重新返回的新资源;304则代表资源无更新,可继续使用缓存文件。

参考:彻底理解浏览器的缓存机制

  

原文地址:https://www.cnblogs.com/LinsenLi/p/10002238.html