gpt4 book ai didi

caching - 没有过期的 header 发送,内容被缓存,浏览器发出条件GET请求之前需要多长时间?

转载 作者:行者123 更新时间:2023-12-03 08:49:11 27 4
gpt4 key购买 nike

假定浏览器为默认设置,并且内容发送时没有 header 过期。

  • 用户访问网站,浏览器缓存图像等。
  • 用户不会关闭浏览器或刷新页面。
  • 用户继续正常浏览网站。
  • 假定浏览器出于任何原因都不会转储缓存。

  • 浏览器将在用户浏览时缓存图像等,但是尚不清楚何时会发出条件GET请求以询问内容新鲜度(除了刷新页面外)。如果这是特定于浏览器的设置,那么在哪里可以看到它的值(对于safari,IE,FireFox,Chrome等浏览器)。

    [编辑:是的-我了解您应该始终发送过期 header 。但是,这项研究的目的是了解浏览器如何处理不带 header 的内容。]

    最佳答案

    HTTP / 1.1定义了一些缓存机制; expires header 仅仅是一个,还有cache-control header 。

    要直接回答您的问题:对于没有expires header 返回的资源,您必须考虑返回的cache-control指令。

    HTTP / 1.1对于没有与缓存相关的 header 提供服务的资源,没有定义任何缓存行为。如果发送的资源没有cache-controlexpires header ,则必须假定客户端在下次请求相同资源时将发出常规(无条件)请求。

    与此行为的任何背离都将使该客户端成为不是完全符合要求的HTTP客户端,在这种情况下,问题就变成了:不符合要求的HTTP客户端应期待什么行为?没有办法回答。

    HTTP缓存非常复杂,要完全了解在特定情况下一致性客户端应执行的操作,请阅读并了解HTTP caching spec

    关于caching - 没有过期的 header 发送,内容被缓存,浏览器发出条件GET请求之前需要多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5860216/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com