我正在使用 Squid 2.7.STABLE9,它是从源代码编译的。
我的理解no-cache
是,在提供资源的缓存副本之前,缓存必须与原始服务器重新验证,并且这通过 If-Modified-Since 标头进行。
我的理解s-maxage
是,共享缓存/代理应该将资源视为在给定的秒数内是新鲜的。
我的期望是,它Cache-Control: no-cache, s-maxage=300
应该触发 Squid 将资源视为 5 分钟的新鲜度,并且应该在提供缓存版本之前与原始服务器重新验证。
我是否正确理解了这些标头的用法? 如果是这样,我是否应该期望此行为 Squid 在配置为反向代理时执行此行为?
答案1
在您的示例中,no-cache 条目未指定字段名称,因此本节适用:
无缓存 如果 no-cache 指令未指定字段名称,则缓存不得使用响应来满足后续请求,除非与原始服务器成功重新验证。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1