http 请求中的 cache-control:max-age=0 和 If-Not-Modified

cache-control:max-age=0 and If-Not-Modified in http request

我们的网站使用 akamai 作为其 CDN。由于有浏览器缓存,在浏览器缓存过期后,它会在http请求中发送cache-control:max-age=0If-Not-Modified,这将得到304响应。(我认为这个304是从原始Web服务器返回的)

cache-control:max-age=0会强制CDN将这个http请求转发到源站web服务器,为什么我们需要CDN?

我不确定 CDN 提供哪种类型的 http reuqest...以及 CDC 如何与原始服务器保持更新?

通过将 max-age 设置为 0,您可以立即有效地使 CDN 边缘缓存中的页面过期。因此,您的 CDN 总是命中您的来源,并按照您的建议使 CDN 无用。

您必须查看特定 CDN 的配置和规则,以确认其从您的来源刷新其边缘缓存的政策,但我使用过的所有内容绝对查看 cache-control 和 max-age (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9). Most will also let you use instead of the Expires header instead if you prefer for whatever reason (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21)

由于您使用的是 Akamai,因此您可以使用 Edge-Control header 覆盖您的 cache-control header。