Cache-Control:max-age 是如何受到中间缓存影响的?

Cache-Control:max-age 是如何受到中间缓存影响的?

我目前正在向用户提供带有标头的 HTML 页面Cache-Control: max-age=600。我相信这允许用户浏览器最多缓存该页面 10 分钟。

我正在考虑在我的服务器前面添加一个 CDN,由于上述标头,它也应该将页面缓存最多 10 分钟。

假设用户获取的页面在 CDN 缓存中已经 9 分钟了,那么该页面是否还会在浏览器中缓存 10 分钟,总缓存时间为 19 分钟?还是只会在浏览器中缓存 1 分钟?

答案1

这篇优秀的文章在缓存控制标头上。

一个想法是,您可以生成页面来包含确切的过期日期/时间,而不是指定 10 分钟的缓存时间。在该日期/时间之后,任何客户端都将重新验证资源。如果您指定 10 分钟,则可能会在 CDN 上花费 10 分钟,在客户端上花费 10 分钟。因此,解决方案可能是将其更改为 5 分钟,但这会增加服务器负载和响应时间。

不过,我认为 Michael 的回答“可能是任何事情”可能是对您确切问题的最佳答案。您需要对您的特定 CDN 进行一些测试。

相关内容