Skip to content

Latest commit

 

History

History
19 lines (15 loc) · 978 Bytes

http缓存策略.md

File metadata and controls

19 lines (15 loc) · 978 Bytes

http缓存策略

分为强缓存和协商缓存,根据Cache-Control字段来实现

Cache-Control字段常见的值如下:

  • no-store-禁止缓存
  • public-表明响应可以被任何对象(包括:发送请求的客户端,代理服务器,等等)缓存,即使是通常不可缓存的内容
  • private-表明响应只能被单个用户缓存,不能作为共享缓存(即代理服务器不能缓存它
  • no-cache-走协商缓存策略
  • max-age-缓存有效时间

协商缓存

  • 状态码:304,Not Modified
  • 标志1,资源的修改时间,请求头If-Modified-Since/返回头Last-Modified
    • 缺点:服务端的时间不准确;频繁修改,例如1秒修改文件100次
  • 标志2,资源校验码(优先级高),请求头If-None-Match/返回头Etag
    • 缺点:大文件可能不适用
  • 第一次缓存生效从磁盘中读取缓存数据,再次请求时从内存中读取缓存数据,内存的读取速度远远高于磁盘