【问题标题】:HTTP Cache-Control: What is acceptable default behavior when it's not present?HTTP Cache-Control:不存在时可接受的默认行为是什么?
【发布时间】:2010-10-18 03:36:00
【问题描述】:

我遇到了一些 HTTP 缓存问题,这是由于某些下游应用程序未将 Cache-Control 标头放在时间敏感数据上造成的。我需要证明这是一个破碎的情况。

当 HTTP 1.1 不存在 Cache-Control 标头时,是否有任何关于缓存和代理的允许或常见响应处理行为的简洁声明?我看到了 RFC2616,但它似乎没有包含任何关于没有 Cache-Control 标头的响应的规范或应该声明。

【问题讨论】:

    标签: http rest cache-control


    【解决方案1】:

    我认为当这个指令丢失时,由浏览器决定它想要做什么。 (在这种情况下,您的服务器可能是浏览器)

    这是对各种浏览器处理问题的方式的很好的描述:

    http://www.f5.com/pdf/white-papers/browser-behavior-wp.pdf

    希望对您有所帮助。

    【讨论】:

    • 嗯,我的服务器确实是浏览器,但也有中间缓存(防火墙、负载平衡器或其他东西)显然正在缓存一些结果。
    【解决方案2】:

    没有办法知道代理在做什么,甚至您的客户正在点击哪些代理,但是如果没有 Cache-Control 标头,他们很可能会发送缓存的结果。您可以做的是从客户端添加标头(如果这是一个选项),因此客户端将使用如下标头发送资源请求:Cache-Control:no-cache

    更多关于缓存的信息:

    https://developers.google.com/speed/docs/best-practices/caching#LeverageBrowserCaching

    这是一个相关的堆栈溢出问题:

    Why is Cache-Control attribute sent in request header (client to server)?

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 2017-08-20
      • 2018-09-01
      • 2012-12-24
      相关资源
      最近更新 更多