Http的Cache-control 在请求头和 响应头的 时候,表示的意思 有什么不同?

Inszt 发布于 2016/09/21 15:17
阅读 613
收藏 1


比如  拿 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一起使用时, 优先级较高


加载中
返回顶部
顶部