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 字符串
