1. 引言 (Introduction)
HTTP [RFC2616] 要求缓存“用其所持有的、对请求最为合适的最新响应来应答请求”, 同时允许在“经过审慎考虑的情形下”返回过期响应. 本文档定义了两个彼此独立的 Cache-Control 扩展指令, 即 stale-if-error 与 stale-while-revalidate, 用于实现这种控制.
stale-if-error HTTP Cache-Control 扩展指令允许缓存在发生错误 (例如 500 内部服务器错误, 网络中断或 DNS 故障) 时返回过期响应, 而不是返回“硬”错误. 这样可以提高可用性.
stale-while-revalidate HTTP Cache-Control 扩展指令允许缓存在后台重新验证响应的同时, 立即返回过期响应, 从而向客户端隐藏 (网络侧与服务器侧的) 延迟.
2. 记号约定 (Notational Conventions)
本文档中的关键词 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" 和 "OPTIONAL" 应按 RFC 2119 [RFC2119] 中的描述解释.
本规范使用 RFC 2616 [RFC2616] 的 augmented Backus-Naur Form, 并包含该规范中的 delta-seconds rule.