代码之家  ›  专栏  ›  技术社区  ›  Robbie

缓存控制:max-age=0,如果未在http请求中修改

  •  2
  • Robbie  · 技术社区  · 9 年前

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

    缓存控件:最大年龄=0 将强制CDN将此http请求转发到源web服务器,那么我们为什么需要CDN?

    我不确定CDN提供哪种类型的http重用。。。CDC如何与源服务器保持更新?

    1 回复  |  直到 9 年前
        1
  •  2
  •   Jason W    9 年前

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

    您必须检查特定CDN的配置和规则,以确认其从源位置刷新边缘缓存的策略,但我使用过的所有方法都是绝对检查缓存控制和最大使用年限( http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9 ). 大多数也会让您使用 Expires 无论出于什么原因,如果您愿意,请改用页眉( http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21 )

    由于您使用Akamai,您可以使用 Edge-Control 头来覆盖缓存控制头。