HTTP 缓存分为强缓存和协商缓存,强缓存优先级比协商缓存更高。

强缓存

关于强缓存有两个字段可以设置,expires:相对时间
Cache-Control: max-age

协商缓存

协商缓存可以通过 Last-Modified/If-Modified-Since和ETag/If-None-Match这两对 Header 来控制。
当cache-control 为 no-cache的时候会走协商缓存
如果协商一致,文件内容没有发生修改返回 304,不一致文件内容发生跟新返回 新的数据以及 状态码200

  • Last-Modified、If-Modified-Since 时间格式
  • etag、if-none-match 字符串