“Cache-Control: no-cache, must-revalidate”中使用“must-revalidate”有多重要?

7
经常我使用
Cache-Control: no-cache

或者
Cache-Control: max-age=0

规范说明must-revalidate适用于max-stale...(服务器发出max-stale请求吗?)
因此,如果对于普通的Web服务器,如Apache或具有Mongrels的Rails,则通常没有max-stale,因此不需要must-revalidate
1个回答

7

must-revalidate 应该由服务器指定,当客户端获取过期响应是不正确的(而不仅仅是次优的)时。这适用于所有带有 max-stale 的请求,就像您提到的那样。如果缓存暂时失去与源的连接(在这种情况下,缓存允许返回带有 Warning 标头的过期条目),也适用于此。话虽如此,我认为您是正确的,这个指令在实践中并不特别需要;它最常见于源想要让客户端缓存资源副本(以节省带宽)但始终在使用前验证它的情况下,如:

Cache-Control: private, max-age=0, must-revalidate


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接