最大年龄和304未修改处理

Blu*_*ers 6 http

我一直在看标准 - 但不完全确定以下内容:

如果我们有一个变量(资源,图像,页面等),其缓存设置为max-age = 259200(3天),并且服务器也在处理ETag和上次修改日期 - 那么当max-时会发生什么?到了年龄 - 但资源没有被修改?

我希望将会发生的是,3天后 - 客户端将再次请求资源 - 如果没有更改,将收到304 Not Modified响应.如果缓存控制响应(在304响应期间)仍然包含max-age = 259200 - 那么我希望客户端将继续使用其本地缓存副本,而不是再次请求另外3天.

我担心会发生的是,一旦达到最大年龄 - 客户端将不再缓存资源 - 每次加载资源时都会发出一个新请求 - 如果资源尚未加入,则返回304 Not Modified响应改性.即我们现在正在获取每次使用的http请求,而不是使用本地缓存另外3天.

思考?

Kor*_*nel 5

它将再缓存3天。RFC 2616 10.3.5

如果缓存使用收到的304响应来更新缓存条目,则缓存必须更新该条目以反映响应中给定的任何新字段值

有关年龄计算的详细信息