

# 使用托管式缓存策略
<a name="using-managed-cache-policies"></a>

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

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

有关更多信息，请参阅 [创建缓存策略](cache-key-create-cache-policy.md)。

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

**Topics**
+ [

## Amplify
](#managed-cache-policy-amplify)
+ [

## CachingDisabled
](#managed-cache-policy-caching-disabled)
+ [

## CachingOptimized
](#managed-cache-caching-optimized)
+ [

## CachingOptimizedForUncompressedObjects
](#managed-cache-caching-optimized-uncompressed)
+ [

## Elemental-MediaPackage
](#managed-cache-policy-mediapackage)
+ [

## UseOriginCacheControlHeaders
](#managed-cache-policy-origin-cache-headers)
+ [

## UseOriginCacheControlHeaders-QueryStrings
](#managed-cache-policy-origin-cache-headers-query-strings)

## Amplify
<a name="managed-cache-policy-amplify"></a>

[在 CloudFront 控制台中查看此策略](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/2e54312d-136d-493c-8eb9-b001f22f67d2)

此策略适合用于作为 [AWS Amplify](https://aws.amazon.com/amplify/) Web 应用程序的源。

在使用 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` 标头，因为已启用缓存压缩对象设置。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。
+ **缓存键中包含的 Cookie：**包含所有 Cookie。
+ **缓存键中包含的查询字符串：**包含所有查询字符串。
+ **缓存压缩对象设置：**已启用。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。

**警告**  
因为此策略的最小 TTL 大于 0，所以 CloudFront 会将内容缓存至少达到在缓存策略的最小 TTL 中指定的持续时间，即使源标头中存在 `Cache-Control: no-cache`、`no-store` 或 `private` 指令也不例外。

### AWS Amplify Hosting 缓存策略
<a name="additional-amplify-policies"></a>

Amplify 使用以下托管式缓存策略来优化客户应用程序的默认缓存配置：
+ [Amplify-Default](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4d1d2f1d-3a71-49ad-9e08-7ea5d843a556)
+ [Amplify-DefaultNoCookies](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/a6bad946-36c3-4c33-aa98-362c74a7fb13)
+ [Amplify-ImageOptimization](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/1c6db51a-a33f-469a-8245-dae26771f530)
+ [Amplify-StaticContent](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/7e5fad67-ee98-4ad0-b05a-394999eefc1a)

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

有关管理 Amplify 托管应用程序的缓存配置的更多信息，请参阅《Amplify Hosting 用户指南》**中的 [Managing cache configuration](https://docs.aws.amazon.com/amplify/latest/userguide/caching.html)。

## CachingDisabled
<a name="managed-cache-policy-caching-disabled"></a>

[在 CloudFront 控制台中查看此策略](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4135ea2d-6df8-44a3-9df3-4b5a84be39ad)

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

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

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

此策略包含以下设置：
+ **最小 TTL：**0 秒
+ **最大 TTL：**0 秒
+ **原定设置 TTL：**0 秒
+ **缓存键中包含的标头：**无
+ **缓存键中包含的 Cookie：**无
+ **缓存键中包含的查询字符串：**无
+ **缓存压缩对象设置：**已禁用

## CachingOptimized
<a name="managed-cache-caching-optimized"></a>

[在 CloudFront 控制台中查看此策略](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/658327ea-f89d-4fab-a63d-7e88639e58f6)

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

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

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

此策略包含以下设置：
+ **最小 TTL：**1 秒。
+ **最大 TTL：**31536000 秒（365 天）。
+ **原定设置 TTL：**86400 秒（24 小时）。
+ **缓存键中包含的标头：**未明确包含任何标头。包含标准化的 `Accept-Encoding` 标头，因为已启用缓存压缩对象设置。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。
+ **缓存键中包含的 Cookie：**无。
+ **缓存键中包含的查询字符串：**无。
+ **缓存压缩对象设置：**已启用。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。

**警告**  
因为此策略的最小 TTL 大于 0，所以 CloudFront 会将内容缓存至少达到在缓存策略的最小 TTL 中指定的持续时间，即使源标头中存在 `Cache-Control: no-cache`、`no-store` 或 `private` 指令也不例外。

## CachingOptimizedForUncompressedObjects
<a name="managed-cache-caching-optimized-uncompressed"></a>

[在 CloudFront 控制台中查看此策略](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/b2884449-e4de-46a7-ac36-70bc7f1ddd6d)

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

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

`b2884449-e4de-46a7-ac36-70bc7f1ddd6d`

此策略包含以下设置：
+ **最小 TTL：**1 秒
+ **最大 TTL：**31536000 秒（365 天）
+ **原定设置 TTL：**86400 秒（24 小时）
+ **缓存键中包含的标头：**无
+ **缓存键中包含的 Cookie：**无
+ **缓存键中包含的查询字符串：**无
+ **缓存压缩对象设置：**已禁用

**警告**  
因为此策略的最小 TTL 大于 0，所以 CloudFront 会将内容缓存至少达到在缓存策略的最小 TTL 中指定的持续时间，即使源标头中存在 `Cache-Control: no-cache`、`no-store` 或 `private` 指令也不例外。

## Elemental-MediaPackage
<a name="managed-cache-policy-mediapackage"></a>

[在 CloudFront 控制台中查看此策略](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/08627262-05a9-4f76-9ded-b50ca2e3a84f)

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

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

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

此策略包含以下设置：
+ **最小 TTL：**0 秒
+ **最大 TTL：**31536000 秒（365 天）
+ **原定设置 TTL：**86400 秒（24 小时）
+ **缓存键中包含的标头：**
  + `Origin`

  还包含标准化的 `Accept-Encoding` 标头，因为已经为 Gzip 启用了缓存压缩对象设置。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。
+ **缓存键中包含的 Cookie：**无
+ **缓存键中包含的查询字符串：**
  + `aws.manifestfilter`
  + `start`
  + `end`
  + `m`
+ **缓存压缩对象设置：**已对 Gzip 启用。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。

## UseOriginCacheControlHeaders
<a name="managed-cache-policy-origin-cache-headers"></a>

[在 CloudFront 控制台中查看此策略](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/83da9c7e-98b4-4e11-a168-04f0df8e2c65)

此策略设计用于符合以下条件的源：返回 `Cache-Control` HTTP 响应标头，且不会根据查询字符串中存在的值提供不同内容。如果源会根据查询字符串中存在的值提供不同内容，请考虑使用 [UseOriginCacheControlHeaders-QueryStrings](#managed-cache-policy-origin-cache-headers-query-strings)。

在使用 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` 标头，因为已启用缓存压缩对象设置。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。
+ **缓存键中包含的 Cookie：**包含所有 Cookie。
+ **缓存键中包含的查询字符串：**无。
+ **缓存压缩对象设置：**已启用。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。

## UseOriginCacheControlHeaders-QueryStrings
<a name="managed-cache-policy-origin-cache-headers-query-strings"></a>

[在 CloudFront 控制台中查看此策略](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4cc15a8a-d715-48a4-82b8-cc0b614638fe)

此策略设计用于符合以下条件的源：返回 `Cache-Control` HTTP 响应标头，且会根据查询字符串中存在的值提供不同内容。如果源不会根据查询字符串中存在的值提供不同内容，请考虑使用 [UseOriginCacheControlHeaders](#managed-cache-policy-origin-cache-headers)。

在使用 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` 标头，因为已启用缓存压缩对象设置。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。
+ **缓存键中包含的 Cookie：**包含所有 Cookie。
+ **缓存键中包含的查询字符串：**包含所有查询字符串。
+ **缓存压缩对象设置：**已启用。有关更多信息，请参阅[压缩支持](cache-key-understand-cache-policy.md#cache-policy-compressed-objects)。