比如 拿 max-age 来说,如果 是在 响应头 中 是 可以 说 服务器 想要 浏览器 在 xxx 秒 内 读取 本地缓存;
如果 max-age=a 是 在 请求头 中呢?是 浏览器 提交说 想 缓存 数据 a 秒?然后服务器 响应 一个 max-age=a, 应答 :可以。 这个意思?比如上图。
那 如果 浏览器 发送一个 Cache-control:public ,意思 是 我想在 所有地方缓存,然后服务器 响应头 总 Cache-control:public ,也就相当于 说 :可以—这样的过程吗?
单独看 一个 属性值 的意思 好像 挺简单,但是 这 一来一回 的 “应答机制” 具体 什么意思呢?
附:
Cache-directive
说明
public
所有内容都将被缓存(客户端和代理服务器都可缓存)
private
内容只缓存到私有缓存中(仅客户端可以缓存,代理服务器不可缓存)
no-cache
必须先与服务器确认返回的响应是否被更改,然后才能使用该响应来满足后续对同一个网址的请求。因此,如果存在合适的验证令牌 (ETag),no-cache 会发起往返通信来验证缓存的响应,如果资源未被更改,可以避免下载。
no-store
所有内容都不会被缓存到缓存或 Internet 临时文件中
must-revalidation/proxy-revalidation
如果缓存的内容失效,请求必须发送到服务器/代理以进行重新验证
max-age=xxx (xxx is numeric)
缓存的内容将在 xxx 秒后失效, 这个选项只在HTTP 1.1可用, 并如果和Last-Modified一起使用时, 优先级较高