使用策略来控制源请求 - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用策略来控制源请求

当发送到 CloudFront 的查看器请求导致缓存未命中(请求的对象未在边缘站点缓存)时,CloudFront 会向源发送请求以检索对象。这称为源请求。源请求始终包含来自查看器请求的以下信息:

  • URL 路径(仅路径,不包含 URL 查询字符串或域名)

  • 请求正文(如果有)

  • CloudFront 在每个源请求中自动包含的 HTTP 标头,包括 HostUser-AgentX-Amz-Cf-Id

默认情况下,查看器请求中的其他信息(如 URL 查询字符串、HTTP 标头和 Cookie)不包含在源请求中。(例外:使用旧缓存设置时,CloudFront 默认将标头转发到您的源。) 然而,您可能希望在源处接收其它一些此类信息,例如收集数据以进行分析或遥测。您可以使用源请求策略 控制源请求中包含的信息。

源请求策略与控制缓存键的缓存策略是分开的。通过这种方法,您可以在源端接收其他信息,并保持良好的缓存命中率(查看器请求导致缓存命中的比率)。您可以通过单独控制哪些信息包含在源请求中(使用源请求策略)以及哪些信息包含在缓存键中(使用缓存策略)来做到这一点。

虽然这两种策略是分开的,但它们却相关联。您在缓存键中包含的所有 URL 查询字符串、HTTP 标头和 Cookie(使用缓存策略)都将自动包含在源请求中。使用源请求策略指定要包含在源请求中但 包含在缓存键中的信息。与缓存策略一样,您可以将源请求策略附加到 CloudFront 分配中的一个或多个缓存行为。

还可以使用源请求策略将其他 HTTP 标头添加到查看器请求中未包含的源请求。这些附加标头是 CloudFront 在发送源请求之前添加的,而标头值是根据查看器请求自动确定的。有关更多信息,请参阅 添加 CloudFront 请求标头