显式禁用 REST 服务的缓存

2024-04-20

我要申请Cache-Control: must-revalidate,no-cache,no-store来自后端 REST 服务的所有响应。我对此有两个问题:

  • 这样做常见吗?出于某种原因,我的印象是没有必要,但我还没有任何消息来源支持这一说法。
  • 我上面提到的值真的足够吗,还是应该设置更多?

编辑:发现这个:https://devcenter.heroku.com/articles/increasing-application-performance-with-http-cache-headers#cache-prevention https://devcenter.heroku.com/articles/increasing-application-performance-with-http-cache-headers#cache-prevention。是说浏览器在没有明确配置任何内容时可能会选择缓存,所以这意味着是的,如果我想确保禁用缓存,则应该配置它。


简而言之:是的,即使不存在显式控制,缓存也可以缓存响应,您需要明确禁止它。

The HTTP 缓存规范第 3 节 https://www.rfc-editor.org/rfc/rfc7234#section-3列出何时禁止缓存响应。它表明响应may只要响应代码可缓存,就会被缓存。可缓存响应代码的列表位于HTTP 规范第 6.1 节 https://www.rfc-editor.org/rfc/rfc7231#section-6.1:

状态代码默认定义为可缓存的响应 (例如,200、203、204、206、300、301、404、405、410、414 和 501 此规范)可以由具有启发式的缓存重用 除非方法定义另有说明,否则过期或 显式缓存控制...

“启发式到期”被定义为当不存在显式控制时分配的到期时间。 (HTTP 缓存规范第 4.2 节。 https://www.rfc-editor.org/rfc/rfc7234#section-4.2)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显式禁用 REST 服务的缓存 的相关文章

随机推荐