HTTP通用首部字段Cache-Control

Cache-Control:控制缓存的行为

请求指令
  • no-cache
    防止使用过期的资源,强制服务端进行缓存确认。
    如果服务端返回该字段,则缓存服务器不能对资源进行缓存,且当该字段有具体的参数时,客户端也不能使用缓存了。(不缓存过期的资源)
  • no-store
    请求或者响应中有机密信息、客户端和服务端均不能缓存。(真正不进行缓存)
  • max-age= [秒]
  • max-stale = [秒]
    指定缓存资源过期时间,如果资源过期时间处于max-stale指定的范围内,则客户端会接收响应。如果未指定具体数值,则无论过期多久,客户端都会接收。
  • min-fresh = [秒]
    要求缓存服务器返回未过指定时间的缓存资源。如果min-fresh = 60,则过了60秒后的资源就不能返回了。
  • no-transform
    无论该指令是在请求还是响应中,缓存都不能改变实体主题的媒体类型。
  • only-if-cached
    指定客户端只在缓存服务器本地缓存请求资源的情况下,才会要求其返回。要求缓存服务器不重新确认资源有效性。
    如果发生请求缓存服务器本地缓存无响应,则返回504 Gateway Timeout
  • cache-extension (token)
    扩展新指令
    token [ “=” ( token | quoted-string ) ]
    Cache-Control: private, community=“UCI”
    community就是扩展的新指令,但是只有对能理解新指令的缓存服务器有效,否则会直接忽略。
响应指令
  • public
    所有用户都可使用缓存
  • private
    指定用户可以使用缓存
  • no-cache
  • no-store
  • no-transform
  • must-revalidate
    使用该指令时,代理会向源服务器验证资源有效性。
    如果代理无法联通源服务器确认资源有效性,则会返回504 Gateway Timeout。
    使用该指令时,会忽略请求指令max-stale,添加在请求首部的max-stale会失效。
  • proxy-revalidate
    要求缓存服务器如果接收到客户端带有该指令的请求返回前,必选向源服务器确认资源有效性。
  • max-age = [秒]
    如果客户端下发该字段,则服务器缓存时间如果小于该值(缓存过期时间),则返回给客户端缓存的资源。如果 max-age = 0,则缓存服务器需要讲请求转发到源服务器。
    如果服务端返回该字段,缓存服务器不会再对资源有效性进行确认,代表资源缓存的最长时间。
    HTTP1.1会优先响应该指令,忽略掉Expires。HTTP1.0则相反。
  • s-maxage = [秒]
    功能和max-age类型,但是s-maxage只适用于供多个用户适用的公共缓存服务器(一般指代理)。对于向同一用户重复返回响应的服务器来说,该字段是无效的。
    使用该字段时,会忽略对Expires首部字段和max-age指令的处理。
  • cache-extension
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值