繁体   English   中英

结合缓存控制的 http 304 响应似乎不适用于 max-age

[英]http 304 response combined with cache-control does not seem to work with max-age

在 Chrome 上,缓存控制标头与 304 响应结合使用时有效。 我已经使用“cache-control no-store”检查了这一点,这使得 Chrome 在下次需要该资源时向服务器发出常规 GET 请求; 正如预期的那样。

但是,“cache-control max-age=42”不能按预期工作。 它不是在接下来的 42 秒内不向服务器发出 GET 请求,而是使用 if-modified-since 标头发出 GET 请求,即使在 42 秒过去之前它不应该这样做。

奇怪的是,带有“cache-control max-age=42”的 200 响应按预期工作,但 304 响应却没有。

任何解释,也许是实现同样目标的方法?

我只用 Chrome 测试过这个。

当 Chrome 使用 if-modified-since 标头发出 GET 请求时,304 响应中的任何 max-age 都被解释为资源最初返回时的 max-age,而不是 304 时的 max-age-回复。 因此,为了使这项工作有效,新的 max-age 应该是 (time-since-original-response + max-age-you-want)。

但是,max-age 的上限是一年。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM