书接上回~!戴帽杂耍的HTTP(一)咱们基本上知道了HTTP首部信息非常关键,按照分类有通用、请求、响应、实体四个大类。今天咱们继续严肃的装逼,讲讲通用字段有哪些?其中最迷人而重要的是哪个字段?
各位看官请看上面清单说明。排在第一就是最迷人而重要的字段:缓存控制。
之前我们有2篇短文都讲过一点《CDN也会过期有毒的~~!》、《“被动耍流氓”的CDN》,但是不够系统、
不够全面。今儿时间还早,所以我们重点唠一唠这个缓存控制。
缓存控制字段,可以由客户端发出请求,表明态度;也可以是服务器返回响应,告知规矩。到底是态度重要,还是规矩最大。我们接着往下看~!
01
:缓存请求指令
指令
参数
说明
no-cache
无
强制向源服务器再次验证
no-store
无
不缓存请求或响应的任何内容
max-age=[秒]
必需
响应的最大的Age值
max-stale=[秒]
可省略
接收已过期的响应
min-fresh=[秒]
必需
期望在指定时间内的响应仍有效
no-stransform
无
代理不可更改的媒体类型
only-if-cached
无
从缓存获取资源
cache-extension
-
新指令标记token
02
:缓存响应指令
指令
参数
说明
public
无
可以向任意方提供响应的缓存
private
可省略
仅向特定用户返回响应
no-cache
可省略
缓存前必须先确认起有效性
no-store
无
不缓存请求或响应的任何内容
no-transform
无
代理不可更改的媒体类型
must-revalidate
无
可缓存但必须再向源服务器进行确认
proxy-revalidate
无
要求中间缓存服务器对缓存响应的有效性进行再次确认
max-age=[秒]
必需
响应的最大的Age值
s-maxage=[秒]
必需
公共缓存服务器响应的最大Age值
cache-extension
-
新指令标记token
看官们,别走~!虽然你们看过之后,一定眼晕,小生第一次也是晕菜的,但是,,,,,但是,,,,我们还是接着多看几眼嘛。其实没那么复杂的~~~~!
1.确认眼神
public
private
no-cache
no-store
2.确认没馊~!
max-age
min-fresh
min-fresh
max-stale
3.还有谁?我最大~!听我的~!
s-maxage:只对public的缓存有效,优先级大于max-age。
4.小样,别耍花样~!别变形~!
no-transform
5.对面的小样,看过来~!
must-revalidate
proxy-revalidate
6.我只想吃存货~!