附录 A. 相对于 RFC 2616 的变更
本规范为清晰起见进行了大幅重写.
澄清了可缓存已认证响应的条件. (第 3.2 节)
新的状态码现在可以定义允许缓存对其使用启发式新鲜度. 缓存现在允许为带查询组件的 URI 计算启发式新鲜度. (第 4.2.2 节)
计算年龄的算法现在不那么保守了. 缓存现在被要求将带时区的日期视为无效, 因为无法准确猜测. (第 4.2.3 节)
在验证时, 不再使用 Content-Location 响应头字段来确定应使用哪个响应. (第 4.3 节)
选择要使用的缓存协商响应的算法已在若干方面得到澄清. 特别是, 它现在明确允许在处理选择头字段时进行特定于头字段的规范化. (第 4.1 节)
澄清了在执行失效 (invalidation) 时避免拒绝服务攻击的相关要求. (第 4.4 节)
缓存失效只在收到成功响应时发生. (第 4.4 节)
缓存指令被明确定义为大小写不敏感. 现在还定义了在只期望一个指令时出现多个缓存指令实例的处理方式. (第 5.2 节)
"no-store" 请求指令不适用于响应; 即, 缓存可以满足带有 no-store 的请求, 并且不会使其失效. (第 5.2.1.5 节)
private 和 no-cache 缓存指令的带限定形式被指出未被广泛实现; 例如, "private=foo" 被许多缓存解释为仅仅是 "private". 此外, 澄清了 no-cache 带限定形式的含义. (第 5.2.2 节)
"no-cache" 响应指令的含义已得到澄清. (第 5.2.2.2 节)
对 Expires 头字段取值的一年限制已被移除; 取而代之的是给出了使用合理取值的理由. (第 5.3 节)
Pragma 头字段现在仅为向后兼容而定义; 未来的 pragma 已被弃用. (第 5.4 节)
关于 Warning 头字段的生成和处理的一些要求已放宽, 因为它未被广泛实现. 此外, Warning 头字段不再使用 RFC 2047 编码, 也不允许多种语言, 因为这些方面未被实现. (第 5.5 节)
本规范引入了缓存指令注册表和警告码注册表, 并定义了新缓存指令的考虑事项. (第 7.1 节和第 7.2 节)