【问题标题】:Different Cache-Control for browser and CDN浏览器和 CDN 的不同缓存控制
【发布时间】:2012-01-16 06:32:19
【问题描述】:

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

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

由于我使用的是 public,我相信浏览器和 CDN 都将页面缓存了 1 小时。我在 CDN 上设置了原始拉取,以便 CDN 服务器从 Web 主机检索页面。

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      浏览器和 CDN 可以有不同的缓存控制设置。所以有两种缓存控制设置:

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

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

      【讨论】:

        猜你喜欢
        • 2011-07-17
        • 2015-04-02
        • 1970-01-01
        • 2012-03-10
        • 1970-01-01
        • 2015-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多