缓存控制

Cache-Control 以逗号分隔的指令形式传递缓存指令。max-age=60 表示响应有效期为一分钟;no-store 完全禁止存储;private 仅允许用户自己的浏览器保存;public 允许共享缓存;no-cache 允许存储,但每次重用前都需要重新验证。

工作原理

缓存会在不联系服务器的情况下提供最新的响应。一旦缓存过期,它会使用条件请求(If-None-Match 并结合存储的 ETag)重新验证,如果没有任何更改,服务器会返回 304 Not Modified 状态码,并保存响应体。s-maxage 为 CDN 等共享缓存设置了单独的生命周期。

误解

`no-cache` 的意思是"do not cache" 。它的意思是"check with me before using a cached copy" ;禁止存储的指令是 `no-store`。将它们混淆要么会将私有数据泄露到共享缓存中,要么会丢弃原本安全的缓存。

点击这里试试

GET /football/v1/standings和 GET /bank/v1/exchange-rates都发送了带有 ETag 的 Cache-Control;重复请求并将 If-None-Match 设置为该 ETag,则响应为无内容的 304。

资料来源

其他术语

阅读英文版

所有术语 · 测试技巧 · 全部 39 个模拟 REST API

最后更新时间