浏览器的缓存机制

一、强缓存和协商缓存的概念

  • 强缓存
    • 用户发送的请求,直接从客户端缓存中获取,不会向服务器发送请求,若成功获取缓存,该请求返回的状态码是 200.
    • 强缓存可以通过设置两种 HTTP 请求头 实现:Cache-Control(HTTP1.1 优先级较高) 和 Expires(HTTP/1)
  • 协商缓存
    • 当强制缓存失效后,
    • 浏览器携带缓存标识向服务器发送请求,由服务器根据缓存标识判定是否使用缓存
    • 可以通过设置两种 HTTP 请求头实现:Last-Modified 和 ETag

二、浏览器的缓存机制

  • 强制缓存优先于协商缓存进行,若强缓存生效则直接使用缓存,
  • 若强缓存不生效则进行协商缓存,由服务器决定是否使用缓存,
  • 若协商缓存失效,那么代表该请求的缓存失效(资源有更新),重新返回资源和缓存标识(以及200状态码),再存入浏览器缓存中,
  • 若协商缓存生效(资源未更新),则返回304状态码,继续使用缓存
posted @ 2019-07-03 20:40  湛蓝的家  阅读(120)  评论(0编辑  收藏  举报