可缓存性:
1. public :HTTP请求返回的过程中,返回内容所经过的任何路径中(代理服务器,客户端浏览器等)都可以对数据缓存
2.private: 只有发起请求的浏览器才可以进行缓存
3. no-cache: 可以缓存,但要向服务器请求验证是否可以使用
到期:
max-age=<seconds> 缓存到期时间,以秒为单位,过期需要再次从服务器请求
s-maxage=<seconds> 代理服务器才会生效,代替max-age
max-stale=<seconds> 请求方Header中,即使缓存过期,在max-stale 时间内还可以使用缓存(代理服务器中)
重新验证(浏览器不常用)
must-revalidate: 若缓存过期,需要重新向服务器发起请求 验证缓存是否过期
proxy-revalidate: 用在缓存服务器上
总结: Cache-Control 是客户端缓存,若允许使用缓存, 则不会向服务器发送请求,直接读取本地缓存,可以优化页面性能,
但如果服务器更新了,客户端不会知道,仍使用缓存
前端 可以通过修改URL Hash码 ,发送至服务器,去判断 内容是否修改,若修改,则说明需要刷新浏览器缓存
其他
no-store: 本地和代理服务器不能存取缓存,只有向服务器请求
no-transform: 用于代理服务器,表示不可以改动返回内容