强缓存、协商缓存

83 阅读1分钟
  • 当浏览器需要向服务器发送一个请求拿资源的时候,会先看本地有没有这个资源缓存
  • 如果有,就需要看cache-control,expire来看资源有没有过期,如果没有过期,直接用本地不用发送了,这个就是强缓存
  • 如果发现过期了,就需要把last-modified,etag字段发给服务器,服务器通过这二个字段决定本地资源到底能不能继续使用,如果能,就返回304,如果不能,就返回一个新的资源,就是200,这就是协商缓存
  • 强缓存本质看资源有没有过期 协商缓存本质是看过期的资源能不能继续使用

下面这文字是为了理解,不用记

  • 先看保质期 如果没有过 绝对可以吃 一个资源如果没有过最后期限 肯定不用再重新发请求 强缓存(expire 2023-1-1过期,Cache-Control 有效期1年 以资源拿回来的时间开始) Cache-Control优先级更高
  • 如果过期 不一定,可以吃一小口确定味没有变 吃 一个资源过期了,需要和服务器商量一下 确定到底需要重新拿资源 协商缓存(Last-Modified etag只有文件内容没有变,etag就是唯一)etag优先级更高