使用托管式缓存策略 - Amazon CloudFront

使用托管式缓存策略

CloudFront 提供了一组托管缓存策略,您可以将这些策略附加到分配的任意缓存行为。有了托管缓存策略,您无需编写或维护自己的缓存策略。托管策略使用已针对特定使用案例优化的设置。

要使用托管缓存策略,请将它附加到分配中的缓存行为。此过程与创建缓存策略时的过程相同,只不过您只需附加一个托管缓存策略,而不是创建新的缓存策略。您可以按名称(使用控制台)或 ID(使用 AWS CLI 或开发工具包)附加策略。以下部分列出了名称和 ID。

有关更多信息,请参阅 创建缓存策略

下面的主题介绍了您可以使用的托管缓存策略。

Amplify

在 CloudFront 控制台中查看此策略

此策略适合用于作为 AWS Amplify Web 应用程序的源。

在使用 AWS CloudFormation、AWS CLI 或 CloudFront API 时,此策略的 ID 为:

2e54312d-136d-493c-8eb9-b001f22f67d2

此策略包含以下设置:

  • 最小 TTL:2 秒

  • 最大 TTL:600 秒(10 分钟)

  • 原定设置 TTL:2 秒

  • 缓存键中包含的标头:

    • Authorization

    • CloudFront-Viewer-Country

    • Host

    还包含标准化的 Accept-Encoding 标头,因为已启用缓存压缩对象设置。有关更多信息,请参阅压缩支持

  • 缓存键中包含的 Cookie:包含所有 Cookie。

  • 缓存键中包含的查询字符串:包含所有查询字符串。

  • 缓存压缩对象设置:已启用。有关更多信息,请参阅压缩支持

AWS Amplify Hosting 缓存策略

Amplify 使用以下托管式缓存策略来优化客户应用程序的默认缓存配置:

注意

这些策略仅由 Amplify 使用。我们建议您不要为分配使用这些策略。

有关管理 Amplify 托管应用程序的缓存配置的更多信息,请参阅《Amplify Hosting 用户指南》中的 Managing cache configuration

CachingDisabled

在 CloudFront 控制台中查看此策略

此策略禁用缓存。此策略对于动态内容和不可缓存的请求很有用。

在使用 AWS CloudFormation、AWS CLI 或 CloudFront API 时,此策略的 ID 为:

4135ea2d-6df8-44a3-9df3-4b5a84be39ad

此策略包含以下设置:

  • 最小 TTL:0 秒

  • 最大 TTL:0 秒

  • 原定设置 TTL:0 秒

  • 缓存键中包含的标头:

  • 缓存键中包含的 Cookie:

  • 缓存键中包含的查询字符串:

  • 缓存压缩对象设置:已禁用

CachingOptimized

在 CloudFront 控制台中查看此策略

此策略旨在通过最大程度地减少 CloudFront 在缓存键中包含的值来提高缓存效率。CloudFront 不在缓存键中包含任何查询字符串或 Cookie,并且只包含标准化 Accept-Encoding 标头。这使 CloudFront 能够在源返回对象或在启用 CloudFront 边缘压缩时以 Gzip 和 Brotli 压缩格式分别缓存对象。

在使用 AWS CloudFormation、AWS CLI 或 CloudFront API 时,此策略的 ID 为:

658327ea-f89d-4fab-a63d-7e88639e58f6

此策略包含以下设置:

  • 最小 TTL:1 秒。

  • 最大 TTL:31536000 秒(365 天)。

  • 原定设置 TTL:86400 秒(24 小时)。

  • 缓存键中包含的标头:未明确包含任何标头。包含标准化的 Accept-Encoding 标头,因为已启用缓存压缩对象设置。有关更多信息,请参阅压缩支持

  • 缓存键中包含的 Cookie:无。

  • 缓存键中包含的查询字符串:无。

  • 缓存压缩对象设置:已启用。有关更多信息,请参阅压缩支持

CachingOptimizedForUncompressedObjects

在 CloudFront 控制台中查看此策略

此策略旨在通过最大程度地减少缓存键中包含的值来提高缓存效率。不包括查询字符串、标头或 Cookie。此策略与前一个策略相同,但它禁用了缓存压缩对象设置。

在使用 AWS CloudFormation、AWS CLI 或 CloudFront API 时,此策略的 ID 为:

b2884449-e4de-46a7-ac36-70bc7f1ddd6d

此策略包含以下设置:

  • 最小 TTL:1 秒

  • 最大 TTL:31536000 秒(365 天)

  • 原定设置 TTL:86400 秒(24 小时)

  • 缓存键中包含的标头:

  • 缓存键中包含的 Cookie:

  • 缓存键中包含的查询字符串:

  • 缓存压缩对象设置:已禁用

Elemental-MediaPackage

在 CloudFront 控制台中查看此策略

此策略旨在用于作为 AWS Elemental MediaPackage 终端节点的源。

在使用 AWS CloudFormation、AWS CLI 或 CloudFront API 时,此策略的 ID 为:

08627262-05a9-4f76-9ded-b50ca2e3a84f

此策略包含以下设置:

  • 最小 TTL:0 秒

  • 最大 TTL:31536000 秒(365 天)

  • 原定设置 TTL:86400 秒(24 小时)

  • 缓存键中包含的标头:

    • Origin

    还包含标准化的 Accept-Encoding 标头,因为已经为 Gzip 启用了缓存压缩对象设置。有关更多信息,请参阅压缩支持

  • 缓存键中包含的 Cookie:

  • 缓存键中包含的查询字符串:

    • aws.manifestfilter

    • start

    • end

    • m

  • 缓存压缩对象设置:已对 Gzip 启用。有关更多信息,请参阅压缩支持

UseOriginCacheControlHeaders

在 CloudFront 控制台中查看此策略

此策略设计用于符合以下条件的源:返回 Cache-Control HTTP 响应标头,且不会根据查询字符串中存在的值提供不同内容。如果源会根据查询字符串中存在的值提供不同内容,请考虑使用 UseOriginCacheControlHeaders-QueryStrings

在使用 AWS CloudFormation、AWS CLI 或 CloudFront API 时,此策略的 ID 为:

83da9c7e-98b4-4e11-a168-04f0df8e2c65

此策略包含以下设置:

  • 最小 TTL:0 秒

  • 最大 TTL:31536000 秒(365 天)

  • 原定设置 TTL:0 秒

  • 缓存键中包含的标头:

    • Host

    • Origin

    • X-HTTP-Method-Override

    • X-HTTP-Method

    • X-Method-Override

    还包含标准化的 Accept-Encoding 标头,因为已启用缓存压缩对象设置。有关更多信息,请参阅压缩支持

  • 缓存键中包含的 Cookie:包含所有 Cookie。

  • 缓存键中包含的查询字符串:无。

  • 缓存压缩对象设置:已启用。有关更多信息,请参阅压缩支持

UseOriginCacheControlHeaders-QueryStrings

在 CloudFront 控制台中查看此策略

此策略设计用于符合以下条件的源:返回 Cache-Control HTTP 响应标头,且会根据查询字符串中存在的值提供不同内容。如果源不会根据查询字符串中存在的值提供不同内容,请考虑使用 UseOriginCacheControlHeaders

在使用 AWS CloudFormation、AWS CLI 或 CloudFront API 时,此策略的 ID 为:

4cc15a8a-d715-48a4-82b8-cc0b614638fe

此策略包含以下设置:

  • 最小 TTL:0 秒

  • 最大 TTL:31536000 秒(365 天)

  • 原定设置 TTL:0 秒

  • 缓存键中包含的标头:

    • Host

    • Origin

    • X-HTTP-Method-Override

    • X-HTTP-Method

    • X-Method-Override

    还包含标准化的 Accept-Encoding 标头,因为已启用缓存压缩对象设置。有关更多信息,请参阅压缩支持

  • 缓存键中包含的 Cookie:包含所有 Cookie。

  • 缓存键中包含的查询字符串:包含所有查询字符串。

  • 缓存压缩对象设置:已启用。有关更多信息,请参阅压缩支持