3. CDN-Cache-Control 目标字段
CDN-Cache-Control 响应头字段是一个目标字段 (第 2 节), 它允许源服务器单独控制位于其与客户端之间的 CDN 缓存行为, 使其区别于可能处理该响应的其他缓存.
它适用于代表源服务器运行的分布式网络中的缓存, 这类网络通常称为 CDN.
使用 CDN-Cache-Control 的 CDN 缓存通常会转发该头字段, 以便下游 CDN 缓存也能使用它. 但是, 当这种转发不可取时, 它们 MAY 移除该头字段, 例如已知下游不会使用并据此配置为移除时.
3.1. 示例 (Examples)
例如, 以下头字段会指示 CDN 缓存 (即目标列表包含 [CDN-Cache-Control] 的缓存) 将该响应视为在 600 秒内新鲜, 指示其他共享缓存将该响应视为在 120 秒内新鲜, 并指示其余缓存将该响应视为在 60 秒内新鲜:
Cache-Control: max-age=60, s-maxage=120
CDN-Cache-Control: max-age=600
以下头字段会指示 CDN 缓存将该响应视为在 600 秒内新鲜, 同时阻止所有其他缓存存储它:
CDN-Cache-Control: max-age=600
Cache-Control: no-store
由于不存在 CDN-Cache-Control, 以下头字段会阻止所有缓存存储该响应:
Cache-Control: no-store
而以下头字段会阻止除 CDN 缓存之外的所有缓存存储该响应:
Cache-Control: no-store
CDN-Cache-Control: none
(注意, 'none' 不是已注册的缓存指令; 这里使用它是为了避免发送值为空的头字段, 因为空值会被忽略.)