浏览器缓存设置
一、浏览器级缓存设置
减少服务器请求, 节省流量
设置 cache-control
cache-control
参数如下:
1. max-age
: 设置缓存最大有效时间(s), 有此配置将覆盖 Expires
2. s-maxage
: 仅用于代理缓存(如 Nginx), 会覆盖 Expires
和 max-age
3. public
, 默认选项, 请求会被缓存, 且支持多用户共享
4. private
: 响应只作为私有的缓存,不能在用户间共享。如果要求HTTP
认证,响应会自动设置为 private
。
5. no-cache
: 通知浏览器忽略资源的缓存副本,强制直接请求服务器,验证是否使用缓存,但不是“不缓存”。
6. no-store
: 禁止缓存。
7. must-revalidate
: 验证字段,如果页面过期,则去服务器进行获取。
浏览器根据如下规则寻找缓存:
判断是否使用缓存(no-store)
-> 判断是否验证(no-cache)
-> 有代理服务器缓存(s-maxage)
-> 判断过期时间, 验证是否 public 缓存
无代理服务器缓存(max-age)
-> 未过期直接调用本地缓存
二、代理服务器级缓存设置
减少文件编译, 直接获取上一次调用过的文件
代理服务器 Nginx 设置
proxy_cache_path cache levels=1:2 keys_zone=my_cache:10m
报文设置
- 设置
s-maxage = 20
- 没有
s-maxage
时, 会询问是否设置max-age