Cache-Concrol

来源:互联网 发布:数据字典生成工具 编辑:程序博客网 时间:2024/04/30 04:50
指令 参数 说明 缓存请求指令 no-cache 无 强制向源服务器再次验证 no-store 无 不缓存请求或响应的任何内容 max-age=[秒] 必需 响应的最大Age值 max-stale=[秒] 可省略 接收已过期的响应 min-fresh=[秒] 必需 期望在制定时间内的响应仍有效 no-transform 无 代理不可更改媒体类型 only-if=cached 无 从缓存获取资源 cache-extension 新指令标记(token) 指令 参数 说明 缓存响应指令 public 无 可向任意方提供响应的缓存 private 可省略 仅向特定用户返回响应 no-cache 无 缓存前必须确认其有效性 no-store 无 不缓存请求或响应的任何内容 no-transform 无 代理不可更改媒体类型 must-revalidate 无 可缓存但必须再向源服务器进行确认 proxy-revalidate 无 要求中间缓存服务器对缓存的响应有效性再进行确认 max-age=[秒] 必需 响应最大Age值 s-maxage=[秒] 必需 公共缓存服务器响应的最大Age值 cache-extension 新指令标记(token)

类似、互相影响的指令

类似

max-age

请求报文中包含此指令,缓存时间(生命期)数值小于指令指定的值时客户端接收资源。
响应报文中包含此指令,缓存服务器不再对缓存资源进行有效行确认,max-age 指定的值为缓存时间数值。
同时包含max-age、Expires 指令时,HTTP/1.1 版本的服务器优先处理max-age,而HTTP/1.0优先处理Expires。

s-max-age

同时存在s-max-age、max-age和Expires指令时,只处理s-max-age。
此指令只适用于提供多用户使用的公共服务器。对于单一用户重复请求响应的服务器来说,没有用处。

这里写图片描述

no-cache

不缓存过期资源。
请求报文中包含此指令时表示客户端不接收缓存服务器的资源,需要缓存服务器将请求转发给源服务器。
响应报文中包含此指令时,如果有值(值为头部字段)缓存服务器则不可以缓存此头部字段的值,如果没有值则可以缓存。

no-store

包含此指令时暗示请求或响应中包含机密信息,不允许缓存服务器在本地存储任意部分

must-revalidate

代理服务器会向源服务器验证即将返回的响应缓存的资源有效性,若无法连通则返回504
此指令和max-stale共存时,max-stale会失效。

max-stale

没有指定具体数值,无论经过多久客户端都会接收,即使资源过期。
指定具体数值,即使资源过期,只要仍处于数值时间内的,仍旧会被接收。

min-fresh

响应时间小于当前时间加指定时间。
小明只签收3天内到货的快件。
响应时间:到货日期。
指定时间:3天。
当前时间:当前时间。

0 0
原创粉丝点击