跳到主要内容

4.9.1. Freshness

4.9.1. Freshness

cached response 的 freshness 决定它能否在不联系 origin server 的情况下用于满足 request. freshness 由 Cache-Control header field 和相关机制控制.

application SHOULD 为 cacheable response 指定 freshness information. 这可以使用以下方式完成:

  • Cache-Control: max-age=N, 表示 response 可以缓存 N 秒.

  • Cache-Control: s-maxage=N, 为 shared cache 提供不同的 freshness lifetime.

  • Expires header field, 用于指定绝对 expiration time (不过优先使用 Cache-Control).

例如:

Cache-Control: max-age=3600

表示该 response 最多可以缓存一小时.

application SHOULD 谨慎选择 freshness lifetime, 平衡:

  • 性能需求 (更长 lifetime 会减少 request).

  • freshness 需求 (更短 lifetime 确保 client 更早看到 update).

  • resource 的特征 (它变化的频率).