用于浏览器和CDN的不同Cache-Control

时间:2012-01-16 06:32:19

标签: php http-headers browser-cache cache-control

是否可以为CDN和浏览器设置不同的缓存控制头? 目前,我正在使用

header("Cache-Control: max-age=3600, public");

由于我正在使用公开,我相信浏览器和CDN都会将页面缓存1小时。我在CDN上设置了原始拉取,因此CDN服务器将从Web主机检索页面。

我希望客户端缓存10分钟,CDN缓存一小时。那可能吗?

如果那是不可能的,我不希望浏览器根本缓存内容,而是每小时一次缓存CDN。

2 个答案:

答案 0 :(得分:0)

这是可能的,但这取决于具体的CDN。通常,CDN将以相同的方式解释Cache-Control报头。 CDN具有用于缓存控制的专有机制。例如,Akamai将读取专有的HTTP标头(X-Akamai-something),该标头优先于标准缓存标头。

答案 1 :(得分:0)

可以为浏览器和CDN设置不同的缓存控制设置。因此,有两种类型的缓存控制设置:

1)。浏览器到边缘服务器缓存控制设置:这通常在Origin服务器上完成,CDN通常会考虑该设置 2)。边缘服务器到Origin缓存控制设置:这通常在CDN层完成。此外,还可以在CDN层添加配置,以覆盖来自Origin服务器的缓存控制设置,如1)。

总而言之,您可以为浏览器和CDN设置不同的缓存控制设置,您也可以选择不在浏览器缓存,而只在CDN层缓存。