目录

网络缓存

缓存

数据库缓存、服务器缓存(代理服务器缓存、CDN缓存)、浏览器缓存(HTTP缓存、indexDB、cookie、localstorage)

业务敏感的Get请求不应被缓存

命中

强缓存命中

cache-control

  • no-cache: 服务器必须确认资源是否发生变化,不是不缓存
  • no-store: 禁止缓存
  • private: 不允许任何中间缓存
  • cache-control: max-age=100 合法生存时间100s

Expries

绝对过期时间,HTTP/1.0的标准,cache-control优先级更高

协商缓存(服务器进行验证)

适合内容改变但名称不变的资源(入口index.html),没有修改过返回304 Not Modified

  • if-modified-since: 最后修改日期,与服务器响应首部last-modified配合使用
  • if-none-match: ETag标签,优先级更高

更新

在文件名中嵌入文件的指纹或版本号,便可cache-control: max-age=31536000 /update_cache.png