可缓存性(指定哪些地方可以缓存)
public、private、no-cache
public:http请求返回的过程中,http请求返回的内容所经过的任何路径包括:中间的代理服务器,发出请求的客户端浏览器,都可以对返回的内容进行缓存。
private:发起请求的浏览器可以缓存。
no-cache:任何节点都不能缓存。
到期
max-age
max-age=<seconds>
缓存到 max-age 之后才会过期。
s-maxage
s-maxage=<seconds>
和 max-age 功能相似,但是只有在 代理服务器 中生效,浏览器端还是会读取 max-age 到期时间。
max-stale
max-stale=<seconds>
max-age过期之后,只要在 max-stale 的时间内,还可以使用过期的缓存。
重新验证
must-revalidate
设置了 max-age 缓存,如果缓存过期了,必须去服务端重新请求,重新获取数据。
proxy-revalidate
和 must-revalidate 类似,用在缓存服务器中。
no-store & no-cache
no-cache:可以在本地进行缓存,每次发起请求都要去服务器验证,如果服务器返回的请求告诉我可以使用本地的缓存,才能使用本地的缓存。(需要经过服务器端的验证)
no-store:本地或者代理服务器不能缓存,永远要去服务端拿新的内容。
no-transform
用在 proxy 服务器上,有的 proxy 会把服务器返回的内容进行压缩或者格式的转换,这个是不允许的。no-transform 告诉代理服务器不要随便的改动返回的内容。