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. -
Expiresheader field, 用于指定绝对 expiration time (不过优先使用Cache-Control).
例如:
Cache-Control: max-age=3600
表示该 response 最多可以缓存一小时.
application SHOULD 谨慎选择 freshness lifetime, 平衡:
-
性能需求 (更长 lifetime 会减少 request).
-
freshness 需求 (更短 lifetime 确保 client 更早看到 update).
-
resource 的特征 (它变化的频率).