代码之家  ›  专栏  ›  技术社区  ›  Steven Huwig

http缓存控制:当它不存在时,什么是可接受的默认行为?

  •  3
  • Steven Huwig  · 技术社区  · 16 年前

    我遇到了一些http缓存问题,这是由于一些下游应用程序没有将缓存控制头放在时间敏感的数据上造成的。我需要证明这是一个破裂的局面。

    当http 1.1的缓存控制头不存在时,是否有任何关于缓存和代理允许或常见的响应处理行为的简明在线语句?我看到了rfc2616,但是它似乎没有包含任何关于没有缓存控制头的响应的规范或应该语句。

    2 回复  |  直到 11 年前
        1
  •  2
  •   Jim    16 年前

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

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

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

    希望能有所帮助。

        2
  •  1
  •   Community CDub    8 年前

    无法知道代理正在做什么,甚至无法知道您的客户正在打哪个代理,但是如果没有缓存控制头,它们很可能正在发送缓存结果。您可以做的是从客户端添加头(如果这是一个选项的话),这样客户端就会用这样的头发送对资源的请求: 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)?

    希望有帮助!