浏览器网络请求中的缓存


前言


本文主要内容是浏览器的缓存分类。


正文


  • 浏览器缓存
    • service worker
    • memory cache
      • 1.与此相关的机制是浏览器的preloader
      • 2.在浏览器解析、执行css/js文件时,会利用空隙请求网络资源,如<link rel=”preload”>
      • 3.从memory cache中获取资源时,会忽略max-age=0、no-cache等头部配置,而如果遇到no-store则不会使用memory cache
    • disk cache
      • 强制缓存
        • Expires
          • HTTP/1.0字段,绝对时间
          • 两个缺点
            • 1.由于是绝对时间,用户可修改本地时间导致缓存时效
            • 2.写法复杂,容易导致拼写错误导致失效
        • Cache-Control
          • 可缓存性
            • public/private
            • no-store/no-cache
          • 时效性
            • max-age=<seconds>/s-maxage=<seconds>
          • 重验证
            • must-revalidate
            • proxy-revalidate
      • 对比缓存
        • Last-Modified/If-Modified-Since
        • Etag/If-None-Match
        • 备注
          • 与强制缓存不同的是,对比缓存的判断依然需要通过发送HTTP请求来完成,但与发送新的HTTP请求相比,对比缓存的响应体会小很多。
          • 对比缓存是作为强制缓存失效后的一种后备方案。
    • http request
0%