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

如果条件标头返回304,“最大年龄”是否会自动更新?

  •  1
  • TomDane  · 技术社区  · 6 年前

    想象一个资源 max-age 60秒:

    • 1分钟后,浏览器发送条件标头 If-None-Match
    • 这将检查资源的etag是否已更改。
    • 如果etag没有更改,服务器将返回 304 Not Modified 回答

    此响应是否会自动将新的60秒添加到 最大年龄 ?或者这是一个案例服务器需要显式处理的问题。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Community CDub    3 年前

    在里面 section 4.2 在HTTP缓存规范中,它说明了以下内容:

    响应的期限是自原始服务器生成响应或使用原始服务器成功验证响应以来经过的时间。

    这个 max-age 指令告诉客户端的HTTP缓存响应持续60秒。因此,一旦服务器发送304响应,缓存的响应将再保持60秒。

    这里的服务器没有什么可处理的。在收到304响应后,由客户端的缓存实现刷新响应。