浏览器缓存

59 阅读1分钟
  • 目前,在工作中遇到了一个问题。是浏览器缓存的问题,目前的浏览器缓存机制是1h,所以,在想这个一个小时是最终的解决版本吗?

1. 浏览器的缓存是服务器端设置的

2. 强缓存

用户在第一次请求接口时,便把资源等缓存到浏览器中;等下次再请求时,根据max-age来比较,在该时间范围内,则请求缓存,不在的话,则继续协商缓存。第一次是内存缓存(memory cache),后面就是磁盘缓存(disk cache)

3. 协商缓存

根据expires(优先级更高)/last-Modify来判断

  1. 去请求后端,后端说资源没有更新,返回304去,浏览器去拿缓存
  2. 后端说资源有更新,返回200,浏览器同步更新缓存资源

4. 刷新

  • 打开网页 有disk cache则走,没有走接口
  • f5 普通刷新,走强缓存(先是memory cache,之后是disk cache)
  • shift+f5 强刷新,走接口