繁体   English   中英

http请求中的“ cache-control:max-age = 0”

[英]`cache-control: max-age=0` in http request

我有一个问题:假设每个http请求中都有一个cache-control: max-age=0标头,因此每个请求都将一直到达原始Web服务器。 如果所有请求都是这样,是否意味着CDN不再有用?

来自其他帖子:由用户代理发送时

我相信shahkalpesh的答案适用于用户代理方。 您还可以查看13.2.6消除多个响应的歧义。

如果用户代理通过Cache-Control:max-age = 0(又称为“端到端重新验证”)发送请求,则沿途的每个缓存都会重新验证其缓存条目(例如,使用If-Not-修改后的标头)一直到原始服务器。 如果答复是304(未修改),则可以使用缓存的实体。

另一方面,使用Cache-Control发送请求:no-cache(也称为“端到端重新加载”)不会重新生效,并且服务器在响应时一定不要使用缓存的副本。

这很有意义,并且与我的结果相符。 当Chrome中的缓存未过期时,它将向CDN发送请求,CDN会使用if-modified-since来查询此请求,然后将其提供给起源,然后为最终用户服务。

通过将max-age设置为0,您可以立即有效地使CDN边缘缓存中的页面过期。 因此,您的CDN总是会打到您的原点,并按照您的建议使CDN失效。

从另一个问题中注意到,您正在使用Akamai。 如果是这样,那么如果您不能直接控制该值,但是仍然希望能够利用CDN功能,则可以使用Edge-Control标头覆盖您的cache-control

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM