当客户端请求一份资源时,Web服务器会响应相应的“缓存控制头部”,该头部会指示客户端如何处理该资源的缓存。由于缓存非常重要,因此理解缓存的各个头部参数是很重要的。 下面是HTTP的Cache-Control头部的各种取值:
- public
public指示响应可以被任何缓存器缓存,包括旁路缓存(CDN),而不局限于客户端缓存。
- private
private指示响应不能被共享或较远的缓存器缓存。
- no-cache
指示缓存器不得缓存任何东西,例如:
Cache-Control: no-cache
- no-store
指示缓存器不得存储任何版本的请求或响应,即每次请求必须有一个请求返回。
Cache-Control: no-store
- must-revalidate
指示如果缓存未过期,则缓存必须验证(重新请求)资源是否过期。 如果过期,则服务器将返回所有内容。 如果未更改,则缓存有效。
- max-age
将资源缓存在客户端的时间(以秒为单位),超过预设的秒数,客户端必须重新请求该资源,例如:
Cache-Control: max-age=3600
- s-maxage
类似于max-age,但只适用于代理缓存器。
这些都是常见的Cache-Control头部参数,根据不同场景可以使用不同的取值设置。例如,如果您的网站存在访问频繁的静态资源,则可以使用较长的max-age,以减少网络请求。如果您的网站具有动态数据,则可能需要使用no-cache以确保用户的请求获得最新的数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:HTTP的Cache-Control头部有哪些取值? - Python技术站