如果条件头返回304,max-age会自动更新吗?

时间:2018-05-08 15:33:33

标签: http-headers browser-cache etag http-caching max-age

想象一下max-age为60秒的资源:

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

此响应是否会自动为max-age添加新的60秒?或者这是一个案例服务器需要显式处理。

1 个答案:

答案 0 :(得分:2)

在HTTP缓存规范的section 4.2中,它说明如下:

  

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

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

这里的服务器没什么可处理的。它取决于客户端的缓存实现,以便在收到304响应时刷新响应。