【问题标题】:Http Cache: What if different http proxies cache different versions of the same content?Http 缓存:如果不同的 http 代理缓存相同内容的不同版本怎么办?
【发布时间】:2011-03-24 05:11:09
【问题描述】:

假设用户在其浏览器中请求 page.htm。 它通过互联网传播,其中一个代理服务器 (P1) 提供缓存版本。 然后,用户刷新页面,另一个请求通过 Internet 到达代理服务器 P2,该服务器提供在不同时刻缓存的文档。 用户看到 2 个不同的内容。

问题:这会发生吗?

假设到期政策设置为绝对日期,则不会发生这种情况。 (理论上,因为服务器时钟不一定是同步的)。 但是相对时间窗口缓存策略呢?

如果可能发生,您如何解决潜在问题?

【问题讨论】:

    标签: http caching


    【解决方案1】:

    是的,它可能发生。

    有几种处理方法:

    • 按照您的建议设置绝对到期日期。

    • 通过发送 Cache-Control: s-maxage=0, proxy-revalidate 来防止代理缓存。但是,我不确定所有代理都会遵守这一点。

    • 如果您知道您将很快更改某个页面,请将其缓存 TTL 调低到一个非常短的时间。然后,代理将继续以较短的时间间隔重新验证该页面。新页面一出,它应该很快就会被拾起,您可以将 TTL 调回更大的周期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 2018-03-02
      • 2012-01-02
      • 2011-04-19
      • 2015-06-30
      • 2020-08-22
      • 1970-01-01
      相关资源
      最近更新 更多