

# Controlar a chave de cache com uma política
<a name="controlling-the-cache-key"></a>

Com uma *política de cache* do CloudFront, é possível especificar os cabeçalhos HTTP, cookies e strings de consulta que o CloudFront inclui na *chave de cache* para objetos armazenados em cache em locais de borda do CloudFront. A chave de cache é o identificador exclusivo de cada objeto no cache e determina se a solicitação HTTP de um visualizador gera um *acerto de cache*.

Um acerto de cache ocorre quando uma solicitação de visualizador gera a mesma chave de cache de uma solicitação anterior, e o objeto dessa chave de cache está no cache do local da borda e é válido. Quando há um acerto de cache, o objeto é fornecido ao visualizador de um local da borda do CloudFront, o que inclui os seguintes benefícios:
+ Carga reduzida no servidor de origem
+ Latência reduzida para o visualizador

Incluir menos valores na chave de cache aumenta a probabilidade de um acerto de cache. Isso pode gerar melhor performance do site ou da aplicação porque há uma *taxa de acertos de cache* maior (uma proporção maior de solicitações do visualizador que ocasiona um acerto de cache). Para obter mais informações, consulte [Noções básicas sobre a chave de cache](understanding-the-cache-key.md).

Para controlar a chave de cache, use uma *política de cache* do CloudFront. Anexe uma política de cache para um ou mais comportamentos de cache em uma distribuição do CloudFront.

Você também pode usar a política de cache para especificar configurações de vida útil (TTL) para objetos no cache do CloudFront e habilitar o CloudFront para solicitar e armazenar em cache objetos compactados.

**nota**  
As configurações de cache não afetam as solicitações gRPC porque o tráfego gRPC não pode ser armazenado em cache. Para obter mais informações, consulte [Usar gRPC com distribuições do CloudFront](distribution-using-grpc.md).

**Topics**
+ [Noções básicas sobre políticas de cache](cache-key-understand-cache-policy.md)
+ [Criar políticas de cache](cache-key-create-cache-policy.md)
+ [Usar políticas de cache gerenciadas](using-managed-cache-policies.md)
+ [Noções básicas sobre a chave de cache](understanding-the-cache-key.md)

# Noções básicas sobre políticas de cache
<a name="cache-key-understand-cache-policy"></a>

É possível usar uma política de cache para melhorar a taxa de acertos do cache controlando os valores (strings de consulta de URL, cabeçalhos HTTP e cookies) incluídos na chave de cache. O CloudFront fornece algumas políticas de cache predefinidas, conhecidas como *políticas gerenciadas*, para casos de uso comuns. É possível usar essas políticas gerenciadas ou criar sua própria política de cache específica para suas necessidades. Para obter mais informações sobre políticas gerenciadas, consulte [Usar políticas de cache gerenciadas](using-managed-cache-policies.md).

Uma política de cache contém as seguintes configurações, que são categorizadas em *informações de política*, *configurações de vida útil (TTL)* e *configurações chave de cache*.

## Informações de política
<a name="cache-key-understand-cache-policy-info"></a>

**Nome**  
Um nome exclusivo para identificar a política de cache. No console, você usa o nome para anexar a política de cache a um comportamento de cache.

**Descrição**  
Um comentário para descrever a política de cache. Isso é opcional, mas pode ajudar a identificar a finalidade da política de cache.

## Configurações de vida útil (TTL)
<a name="cache-key-understand-cache-policy-ttl"></a>

As configurações de vida útil (TTL) funcionam em conjunto com os cabeçalhos HTTP `Cache-Control` e `Expires` (se eles estiverem na resposta da origem) para determinar por quanto tempo os objetos permanecem válidos no cache do CloudFront.

**Minimum TTL**  
O tempo mínimo, em segundos, que você quer que os objetos permaneçam no cache do CloudFront antes que o CloudFront verifique se o objeto foi atualizado na origem. Para obter mais informações, consulte [Gerenciar o tempo de permanência do conteúdo no cache (expiração)](Expiration.md).  
Se seu TTL mínimo for maior que 0, o CloudFront armazenará em cache o conteúdo por pelo menos a duração epedificada no TTL mínimo da política de cache, mesmo que as diretivas `Cache-Control: no-cache`, `no-store` ou `private` estejam presentes nos cabeçalhos de origem.

**Maximum TTL**  
O tempo máximo, em segundos, que os objetos permanecem no cache do CloudFront antes que o CloudFront envie outra solicitação à origem para verificar se o objeto foi atualizado. O CloudFront usa essa configuração somente quando a origem envia cabeçalhos `Cache-Control` ou `Expires` com o objeto. Para obter mais informações, consulte [Gerenciar o tempo de permanência do conteúdo no cache (expiração)](Expiration.md).

**TTL padrão**  
O tempo padrão, em segundos, que você quer que os objetos permaneçam no cache do CloudFront antes que o CloudFront verifique se o objeto foi atualizado na origem. O CloudFront usa esse valor de configuração como a TTL do objeto somente quando a origem *não* envia cabeçalhos `Cache-Control` ou `Expires` com o objeto. Para obter mais informações, consulte [Gerenciar o tempo de permanência do conteúdo no cache (expiração)](Expiration.md).

**nota**  
Se as configurações **Minimum TTL** (TTL mínimo), **Maximum TTL** (TTL máximo) e **Default TTL** (TTL padrão) estiverem todas definidas como 0, isso desativará o armazenamento em cache do CloudFront.

## Configurações da chave de cache
<a name="cache-key-understand-cache-policy-settings"></a>

As configurações da chave de cache especificam os valores nas solicitações do visualizador que o CloudFront inclui na chave de cache. Os valores podem incluir strings de consulta de URL, cabeçalhos HTTP e cookies. Os valores que você inclui na chave de cache são automaticamente incluídos nas solicitações que o CloudFront envia à origem, conhecidas como *solicitações de origem*. Para obter informações sobre como controlar solicitações de origem sem afetar a chave de cache, consulte [Controlar as solicitações de origem com uma política](controlling-origin-requests.md).

As configurações de chave de cache incluem:
+ [Cabeçalhos](#cache-policy-headers)
+ [Cookies](#cache-policy-cookies)
+ [Strings de consulta](#cache-policy-query-strings)
+ [Suporte à compactação](#cache-policy-compressed-objects)

**Cabeçalhos**  
Os cabeçalhos HTTP em solicitações do visualizador que o CloudFront inclui na chave de cache e nas solicitações da origem. Para cabeçalhos, é possível escolher uma das seguintes configurações:  
+ **None (Nenhum)**: os cabeçalhos HTTP nas solicitações do visualizador *não* são incluídos na chave de cache e *não* são incluídos automaticamente nas solicitações da origem.
+ **Include the following headers** (Incluir os seguintes cabeçalhos): você especifica quais dos cabeçalhos HTTP nas solicitações do visualizador serão incluídos na chave de cache e incluídos automaticamente nas solicitações da origem.
Ao usar a configuração **Include the following headers** (Incluir os seguintes cabeçalhos), você especifica cabeçalhos HTTP pelo nome, não pelo valor. Por exemplo, considere o seguinte cabeçalho HTTP:  

```
Accept-Language: en-US,en;q=0.5
```
Nesse caso, você especifica o cabeçalho como `Accept-Language`, não como `Accept-Language: en-US,en;q=0.5`. No entanto, o CloudFront inclui o cabeçalho completo, incluindo seu valor, na chave de cache e nas solicitações da origem.  
Também é possível incluir determinados cabeçalhos gerados pelo CloudFront na chave de cache. Para obter mais informações, consulte [Adicionar cabeçalhos de solicitação do CloudFront](adding-cloudfront-headers.md).

**Cookies**  
Os cookies em solicitações do visualizador que o CloudFront inclui na chave de cache e nas solicitações da origem. Para cookies, é possível escolher uma das seguintes configurações:  
+ **None (Nenhum)**: os cookies nas solicitações do visualizador *não* são incluídos na chave de cache e *não* são incluídos automaticamente nas solicitações da origem.
+ **All (Todos)**: todos os cookies em solicitações do visualizador são incluídos na chave de cache e incluídos automaticamente nas solicitações da origem.
+ **Include specified cookies** (Incluir os cookies especificados): você especifica quais dos cookies nas solicitações do visualizador serão incluídos na chave de cache e incluídos automaticamente nas solicitações da origem.
+ **Include all cookies except** (Incluir todos os cookies, exceto): você especifica quais dos cookies nas solicitações do visualizador *não* serão incluídos na chave de cache e *não* serão incluídos automaticamente nas solicitações da origem. Todos os outros cookies, exceto os que você especificar, *são* incluídos na chave de cache e incluídos automaticamente nas solicitações da origem.
Ao usar a configuração **Include specified cookies** (Incluir os cookies especificados) ou **Include all cookies except** (Incluir todos os cookies, exceto), você especifica cookies pelo nome, não pelo valor. Por exemplo, considere o seguinte cabeçalho `Cookie`:  

```
Cookie: session_ID=abcd1234
```
Nesse caso, você especifica o cookie como `session_ID`, não como `session_ID=abcd1234`. No entanto, o CloudFront inclui o cookie completo, incluindo o seu valor, na chave de cache e nas solicitações da origem.

**Strings de consulta**  
As strings de consulta de URL nas solicitações do visualizador que o CloudFront inclui na chave de cache e nas solicitações de origem. Para strings de consulta, é possível escolher uma das seguintes configurações:  
+ **None (Nenhuma)**: as strings de consulta nas solicitações do visualizador *não* são incluídas na chave do cache e *não* são incluídas automaticamente nas solicitações de origem.
+ **All (Todas)**: todas as strings de consulta em solicitações do visualizador são incluídas na chave de cache e também são incluídas automaticamente nas solicitações de origem.
+ **Include specified query strings** (Incluir as strings de consulta especificadas): você especifica quais strings de consulta nas solicitações do visualizador serão incluídas na chave de cache e incluídas automaticamente nas solicitações de origem.
+ **Include all query strings except** (Inclui todas as strings de consulta, exceto): você especifica quais das strings de consulta nas solicitações do visualizador *não* serão incluídas na chave de cache e *não* serão incluídas automaticamente nas solicitações da origem. Todas as outras strings de consulta, com exceção das que você especificar, *são* incluídas na chave de cache e incluídas automaticamente nas solicitações da origem.
Ao usar a configuração **Include specified query strings** (Incluir as strings de consulta especificadas) ou **Include all query strings except** (Incluir todas as strings de consulta, exceto), você especifica as strings de consulta pelo nome, não pelo valor. Por exemplo, considere o seguinte caminho do URL:  

```
/content/stories/example-story.html?split-pages=false
```
Nesse caso, você especifica a string de consulta como `split-pages`, não como `split-pages=false`. No entanto, o CloudFront inclui a string de consulta completa, incluindo seu valor, na chave de cache e nas solicitações de origem.  
Com relação às configurações de chave de cache, o CloudFront trata o caractere asterisco (`*`) dos cabeçalhos, strings de consulta e cookies como uma string literal, não como um curinga.

**Suporte à compactação**  
Essas configurações permitem que o CloudFront solicite e armazene em cache objetos compactados nos formatos de compactação Gzip ou Brotli, quando o visualizador for compatível com eles. Essas configurações também permitem que a [compactação do CloudFront](ServingCompressedFiles.md) funcione. Os visualizadores indicam sua compatibilidade com esses formatos de compactação com o cabeçalho HTTP `Accept-Encoding`.  
Os navegadores da Web Chrome e Firefox são compatíveis com a compactação Brotli somente quando a solicitação é enviada usando HTTPS. Esses navegadores não são compatíveis com o Brotli com solicitações HTTP.
Habilite essas configurações quando qualquer uma das seguintes situações for verdadeira:  
+ Sua origem retorna objetos compactados Gzip quando os visualizadores são compatíveis com ele (as solicitações contêm o cabeçalho HTTP `Accept-Encoding` com `gzip` como um valor). Nesse caso, use a configuração **Gzip enabled** (Habilitada para Gzip) (defina `EnableAcceptEncodingGzip` como `true` na API do CloudFront, nos AWS SDKs, na AWS CLI ou no CloudFormation).
+ A origem retorna objetos compactados Brotli quando os visualizadores são compatíveis com ele (as solicitações contêm o cabeçalho HTTP `Accept-Encoding` com `br` como um valor). Nesse caso, use a configuração **Brotli enabled** (Habilitada para Brotli) (defina `EnableAcceptEncodingBrotli` como `true` na API do CloudFront, nos AWS SDKs, na AWS CLI ou no CloudFormation).
+ O comportamento do cache ao qual esta política de cache está anexada é configurado com [Compactação do CloudFront](ServingCompressedFiles.md). Nesse caso, é possível habilitar o cache para Gzip ou Brotli ou ambos. Quando a compactação do CloudFront está habilitada, habilitar o cache para os dois formatos pode ajudar a reduzir os custos de transferência de dados para a internet.
Se você habilitar o armazenamento em cache para um ou os dois formatos de compactação, não inclua o cabeçalho `Accept-Encoding` em uma [política de solicitação de origem](controlling-origin-requests.md) associada ao mesmo comportamento de cache. O CloudFront sempre inclui esse cabeçalho em solicitações da origem quando o cache está habilitado para qualquer um desses formatos, portanto, incluir `Accept-Encoding` em uma política de solicitação de origem não tem efeito.
Se o servidor de origem não retornar objetos compactados por Gzip ou Brotli, ou o comportamento do cache não estiver configurado com compactação do CloudFront, não habilite o cache para objetos compactados. Se você o habilitar, a [taxa de acertos do cache](cache-hit-ratio.md) poderá diminuir.  
A explicação a seguir mostra como essas configurações afetam uma distribuição do CloudFront. Todas as situações descritas a seguir partem do pressuposto de que a solicitação do visualizador contém o cabeçalho `Accept-Encoding`. Quando a solicitação do visualizador não inclui o cabeçalho `Accept-Encoding`, o CloudFront não inclui esse cabeçalho na chave de cache e não o inclui na solicitação de origem correspondente.    
**Quando o armazenamento em cache de objetos compactados está habilitado para os dois formatos de compactação**  
Se o visualizador for compatível com Gzip e Brotli, ou seja, se os valores `gzip` e `br` estiverem no cabeçalho `Accept-Encoding` na solicitação do visualizador, o CloudFront fará o seguinte:  
+ Normaliza o cabeçalho como `Accept-Encoding: br,gzip` e inclui o cabeçalho normalizado na chave de cache. A chave de cache não inclui outros valores que estavam no cabeçalho `Accept-Encoding` enviado pelo visualizador.
+ Se o ponto de presença tiver um objeto compactado Brotli ou Gzip no cache que corresponda à solicitação e não tiver expirado, o ponto de presença retornará o objeto ao visualizador.
+ Se o local da borda não tiver um objeto compactado por Brotli ou Gzip no cache, que corresponda à solicitação e não esteja expirado, o CloudFront incluirá o cabeçalho normalizado (`Accept-Encoding: br,gzip`) na solicitação de origem correspondente. A solicitação de origem não incluirá outros valores que estavam no cabeçalho `Accept-Encoding` enviado pelo visualizador.
Se o visualizador for compatível com um formato de compactação, mas não com o outro, por exemplo, se `gzip` for um valor no cabeçalho `Accept-Encoding` na solicitação do visualizador, mas `br` não for, o CloudFront fará o seguinte:  
+ Normaliza o cabeçalho como `Accept-Encoding: gzip` e inclui o cabeçalho normalizado na chave de cache. A chave de cache não inclui outros valores que estavam no cabeçalho `Accept-Encoding` enviado pelo visualizador.
+ Se o ponto de presença tiver um objeto compactado Gzip no cache que corresponda à solicitação e não tiver expirado, o ponto de presença retornará o objeto ao visualizador.
+ Se o local da borda não tiver um objeto compactado por Gzip no cache, que corresponda à solicitação e não esteja expirado, o CloudFront incluirá o cabeçalho normalizado (`Accept-Encoding: gzip`) na solicitação de origem correspondente. A solicitação de origem não incluirá outros valores que estavam no cabeçalho `Accept-Encoding` enviado pelo visualizador.
Para entender o que o CloudFront fará se o visualizador for compatível com Brotli, mas não com Gzip, substitua os dois formatos de compactação um pelo outro no exemplo anterior.  
Se o visualizador não for compatível com o Brotli ou com o Gzip, ou seja, o cabeçalho `Accept-Encoding` na solicitação do visualizador não contiver `br` ou `gzip` como valores, o CloudFront:  
+ Não incluirá o cabeçalho `Accept-Encoding` na chave de cache.
+ Incluirá `Accept-Encoding: identity` na solicitação de origem correspondente. A solicitação de origem não incluirá outros valores que estavam no cabeçalho `Accept-Encoding` enviado pelo visualizador.  
**Quando o armazenamento em cache de objetos compactados está habilitado para um formato de compactação, mas não o outro**  
Se o visualizador for compatível com o formato para o qual o cache está habilitado, por exemplo, se o armazenamento em cache de objetos compactados estiver habilitado para Gzip, e o visualizador for compatível com o Gzip (`gzip` for um dos valores no cabeçalho `Accept-Encoding` na solicitação do visualizador), o CloudFront fará o seguinte:  
+ Normaliza o cabeçalho como `Accept-Encoding: gzip` e inclui o cabeçalho normalizado na chave de cache.
+ Se o ponto de presença tiver um objeto compactado Gzip no cache que corresponda à solicitação e não tiver expirado, o ponto de presença retornará o objeto ao visualizador.
+ Se o local da borda não tiver um objeto compactado por Gzip no cache, que corresponda à solicitação e não esteja expirado, o CloudFront incluirá o cabeçalho normalizado (`Accept-Encoding: gzip`) na solicitação de origem correspondente. A solicitação de origem não incluirá outros valores que estavam no cabeçalho `Accept-Encoding` enviado pelo visualizador.
Esse comportamento é o mesmo quando o visualizador é compatível com o Gzip e o Brotli (o cabeçalho `Accept-Encoding` na solicitação do visualizador inclui `gzip` *e* `br` como valores), porque nesse cenário, o armazenamento em cache de objetos compactados para Brotli não está habilitado.  
Para entender o que o CloudFront fará se o armazenamento em cache de objetos compactados estiver habilitado para Brotli, mas não para Gzip, substitua os dois formatos de compactação um pelo outro no exemplo anterior.  
Se o visualizador não for compatível com o formato de compactação para o qual o cache está habilitado (o cabeçalho `Accept-Encoding` na solicitação do visualizador não contiver o valor desse formato), o CloudFront:  
+ Não incluirá o cabeçalho `Accept-Encoding` na chave de cache.
+ Incluirá `Accept-Encoding: identity` na solicitação de origem correspondente. A solicitação de origem não incluirá outros valores que estavam no cabeçalho `Accept-Encoding` enviado pelo visualizador.  
**Quando o armazenamento em cache de objetos compactados está desabilitado para os dois formatos de compactação**  
Quando o armazenamento em cache de objetos compactados está desabilitado para os dois formatos de compactação, o CloudFront trata o cabeçalho `Accept-Encoding` da mesma forma como qualquer outro cabeçalho HTTP na solicitação do visualizador. Por padrão, ele não está incluído na chave de cache e não está incluído nas solicitações de origem. É possível incluí-lo na lista de cabeçalhos em uma política de cache ou em uma política de solicitação de origem como qualquer outro cabeçalho HTTP.

# Criar políticas de cache
<a name="cache-key-create-cache-policy"></a>

É possível usar uma política de cache para melhorar a taxa de acertos do cache controlando os valores (strings de consulta de URL, cabeçalhos HTTP e cookies) incluídos na chave de cache. Você pode criar uma política de cache no console do CloudFront com a AWS Command Line Interface (AWS CLI) ou a API do CloudFront.

Depois de criar uma política de cache, anexe-a a um ou mais comportamentos de cache em uma distribuição do CloudFront.

------
#### [ Console ]

**Como criar uma política de cache (console)**

1. Faça login no Console de gerenciamento da AWS e abra a página **Policies** (Políticas) no console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home?#/policies](https://console.aws.amazon.com/cloudfront/v4/home?#/policies).

1. Escolha **Create cache policy (Criar política de cache)**.

1. Escolha a configuração desejada para esta política de cache. Para obter mais informações, consulte [Noções básicas sobre políticas de cache](cache-key-understand-cache-policy.md).

1. Quando terminar, escolha **Create** (Criar).

Depois de criar uma política de cache, é possível anexá-la a um comportamento de cache.

**Como anexar uma política de cache a uma distribuição existente (console)**

1. Abra a página **Distributions** (Distribuições) no console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

1. Escolha a distribuição a ser atualizada e escolha a guia **Behaviors (Comportamentos)**.

1. Escolha o comportamento de cache a ser atualizado e escolha **Edit (Editar)**.

   Ou, para criar um novo comportamento de cache, escolha **Create behavior** (Criar comportamento).

1. Na seção **Cache key and origin requests** (Solicitações da chave de cache e de origem), verifique se a opção **Cache policy and origin request policy** (Política de cache e política de solicitação de origem) está selecionada.

1. Em **Cache policy** (Política de cache), escolha a política de cache a ser anexada a esse comportamento de cache.

1. Na parte inferior da página, escolha **Save changes** (Salvar alterações).

**Como anexar uma política de cache a uma nova distribuição (console)**

1. Abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Escolha **Create distribution** (Criar distribuição).

1. Na seção **Cache key and origin requests** (Solicitações da chave de cache e de origem), verifique se a opção **Cache policy and origin request policy** (Política de cache e política de solicitação de origem) está selecionada.

1. Em **Cache policy** (Política de cache), escolha a política de cache a ser anexada ao comportamento de cache padrão dessa distribuição.

1. Escolha as configurações desejadas para a origem, o comportamento padrão do cache e outras configurações de distribuição. Para obter mais informações, consulte [Referência de configurações de todas as distribuições](distribution-web-values-specify.md).

1. Ao concluir, escolha **Create distribution** (Criar distribuição).

------
#### [ CLI ]

Para criar uma política de cache com a AWS Command Line Interface (AWS CLI), use o comando **aws cloudfront create-cache-policy**. É possível usar um arquivo de entrada para fornecer os parâmetros de entrada do comando, em vez de especificar cada parâmetro individual como entrada na linha de comando.

**Como criar uma política de cache (CLI com arquivo de entrada)**

1. Use o comando a seguir para criar um arquivo chamado `cache-policy.yaml` que contém todos os parâmetros de entrada para o comando **create-cache-policy**.

   ```
   aws cloudfront create-cache-policy --generate-cli-skeleton yaml-input > cache-policy.yaml
   ```

1. Abra o arquivo chamado `cache-policy.yaml` que você acabou de criar. Edite o arquivo para especificar as configurações de política de cache desejadas e salve o arquivo. É possível remover campos opcionais do arquivo, mas não remover os campos obrigatórios.

   Para obter mais informações sobre as configurações de política de cache, consulte [Noções básicas sobre políticas de cache](cache-key-understand-cache-policy.md).

1. Use o seguinte comando para criar a política de cache usando parâmetros de entrada do arquivo `cache-policy.yaml`.

   ```
   aws cloudfront create-cache-policy --cli-input-yaml file://cache-policy.yaml
   ```

   Anote o valor de `Id` na saída do comando. Esse é o ID da política de cache que será necessário para anexar a política de cache ao comportamento de cache de uma distribuição do CloudFront.

**Como anexar uma política de cache a uma distribuição existente (CLI com arquivo de entrada)**

1. Use o comando a seguir para salvar a configuração da distribuição do CloudFront que você deseja atualizar. Substitua *distribution\$1ID* pelo ID da distribuição.

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. Abra o arquivo chamado `dist-config.yaml` que você acabou de criar. Edite o arquivo, fazendo as seguintes alterações em cada comportamento de cache que você está atualizando para usar uma política de cache.
   + No comportamento de cache, adicione um campo chamado `CachePolicyId`. Para o valor do campo, use o ID da política de cache que você anotou depois de criar a política.
   + Remova os campos `MinTTL`, `MaxTTL`, `DefaultTTL` e `ForwardedValues` do comportamento de cache. Essas configurações são especificadas na política de cache, portanto você não pode incluir esses campos e uma política de cache no mesmo comportamento de cache.
   + Renomeie o campo `ETag` para `IfMatch`, mas não altere o valor do campo.

   Ao concluir, salve o arquivo.

1. Use o comando a seguir para atualizar a distribuição para utilizar a política de cache. Substitua *distribution\$1ID* pelo ID da distribuição.

   ```
   aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
   ```

**Como anexar uma política de cache a uma nova distribuição (CLI com arquivo de entrada)**

1. Use o comando a seguir para criar um arquivo chamado `distribution.yaml` que contém todos os parâmetros de entrada para o comando **create-distribution**.

   ```
   aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
   ```

1. Abra o arquivo chamado `distribution.yaml` que você acabou de criar. No comportamento de cache padrão, no campo `CachePolicyId`, insira o ID da política de cache que você anotou após criar a política. Continue editando o arquivo para especificar as configurações de distribuição desejadas e salve o arquivo ao concluir.

   Para obter mais informações sobre as configurações de distribuição, consulte [Referência de configurações de todas as distribuições](distribution-web-values-specify.md).

1. Use o seguinte comando para criar a distribuição usando parâmetros de entrada do arquivo `distribution.yaml`.

   ```
   aws cloudfront create-distribution --cli-input-yaml file://distribution.yaml
   ```

------
#### [ API ]

Para criar uma política de cache com a API do CloudFront, use [CreateCachePolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateCachePolicy.html). Para obter mais informações sobre os campos especificados nessa chamada de API, consulte [Noções básicas sobre políticas de cache](cache-key-understand-cache-policy.md) e a documentação de referência de API do seu AWS SDK ou de outro cliente de API.

Depois de criar uma política de cache, é possível anexá-la a um comportamento de cache, usando uma das seguintes chamadas de API:
+ Para anexá-la a um comportamento de cache em uma distribuição existente, use [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Para anexá-la a um comportamento de cache em uma nova distribuição, use [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Para as duas chamadas de API, forneça o ID da política de cache no campo `CachePolicyId`, dentro de um comportamento de cache. Para mais informações sobre os outros campos especificados nessas chamadas de API, consulte [Referência de configurações de todas as distribuições](distribution-web-values-specify.md) e a documentação de referência da API do AWS SDK ou de outro cliente de API.

------

# Usar políticas de cache gerenciadas
<a name="using-managed-cache-policies"></a>

O CloudFront fornece um conjunto de políticas de cache gerenciadas que é possível anexar a qualquer um dos comportamentos de cache da distribuição. Com uma política de cache gerenciada, você não precisa gravar ou manter sua própria política de cache. As políticas gerenciadas usam configurações que são otimizadas para casos de uso específicos.

Para usar uma política de cache gerenciada, anexe-a a um comportamento de cache em sua distribuição. O processo é o mesmo que o da criação de uma política de cache, mas em vez de criar uma, basta anexar uma das políticas de cache gerenciadas. Você anexa a política por nome (com o console) ou por ID (com a AWS CLI ou os SDKs). Os nomes e IDs são listados na seção a seguir.

Para obter mais informações, consulte [Criar políticas de cache](cache-key-create-cache-policy.md).

Os tópicos a seguir descrevem as políticas de cache gerenciadas que você pode usar.

**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>

[Visualizar essa política no console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/2e54312d-136d-493c-8eb9-b001f22f67d2)

Esta política foi projetada para uso com uma origem que é uma aplicação Web do [AWS Amplify](https://aws.amazon.com/amplify/).

Ao usar o CloudFormation, a AWS CLI ou a API do CloudFront, o ID dessa política é:

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

Essa política tem as seguintes configurações:
+ **TTL mínimo:** 2 segundos
+ **TTL máximo:** 600 segundos (10 minutos)
+ **TTL padrão:** 2 segundos
+ **Cabeçalhos incluídos na chave de cache:**
  + `Authorization`
  + `CloudFront-Viewer-Country`
  + `Host`

  O cabeçalho normalizado `Accept-Encoding` também é incluído porque a configuração de objetos compactados de cache está habilitada. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookies included in cache key** (Cookies incluídos na chave de cache): todos os cookies serão incluídos.
+ **Query strings included in cache key** (Strings de consulta incluídas na chave de cache): todas as strings de consulta serão incluídas.
+ **Configuração de armazenamento de objetos compactados em cache:** habilitado. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

**Atenção**  
Como esta política tem um TTL mínimo maior que 0, o CloudFront irá armazenar em cache o conteúdo pelo menos durante o período especificado no TTL mínimo da política de cache, mesmo se as diretivas `Cache-Control: no-cache`, `no-store` ou `private` estiverem presentes nos cabeçalhos de origem.

### Políticas de cache de hospedagem do AWS Amplify
<a name="additional-amplify-policies"></a>

O Amplify usa as seguintes políticas de cache gerenciadas para otimizar a configuração de cache padrão das aplicações dos clientes:
+ [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)

**nota**  
Essas políticas são usadas apenas pelo Amplify. Não recomendamos usá-las para suas distribuições. 

Para ter mais informações sobre como gerenciar a configuração de cache para a aplicação hospedada no Amplify, consulte [Managing cache configuration](https://docs.aws.amazon.com/amplify/latest/userguide/caching.html) no *Guia do usuário de hospedagem do Amplify*.

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

[Visualizar essa política no console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4135ea2d-6df8-44a3-9df3-4b5a84be39ad)

Esta política desabilita o armazenamento em cache. Essa política é útil para conteúdo dinâmico e para solicitações que não podem ser armazenadas em cache.

Ao usar o CloudFormation, a AWS CLI ou a API do CloudFront, o ID dessa política é:

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

Essa política tem as seguintes configurações:
+ **TTL mínimo:** 0 segundo
+ **TTL máximo:** 0 segundo
+ **TTL padrão:** 0 segundo
+ **Cabeçalhos incluídos na chave de cache:** nenhum
+ **Cookies incluídos na chave de cache:** nenhum
+ **Strings de consulta incluídas na chave de cache:** nenhuma
+ **Configuração de armazenamento de objetos compactados em cache:** desabilitado

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

[Visualizar essa política no console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/658327ea-f89d-4fab-a63d-7e88639e58f6)

Essa política foi projetada para otimizar a eficiência do cache minimizando os valores incluídos pelo CloudFront na chave de cache. O CloudFront não inclui strings de consulta ou cookies na chave de cache e inclui apenas o cabeçalho `Accept-Encoding` normalizado. Isso permite que o CloudFront armazene objetos em cache separadamente nos formatos de compactação Gzip e Brotli quando a origem os retorna ou quando a [Compactação de borda do CloudFront](ServingCompressedFiles.md) está habilitada.

Ao usar o CloudFormation, a AWS CLI ou a API do CloudFront, o ID dessa política é:

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

Essa política tem as seguintes configurações:
+ **TTL mínimo:** 1 segundo.
+ **TTL máximo:** 31.536.000 segundos (365 dias).
+ **TTL padrão:** 86.400 segundos (24 horas).
+ **Headers included in the cache key** (Cabeçalhos incluídos na chave de cache): nenhum será explicitamente incluído. O cabeçalho normalizado `Accept-Encoding` é incluído porque a configuração de objetos compactados de cache está habilitada. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookies incluídos na chave de cache:** nenhum.
+ **Strings de consulta incluídas na chave de cache:** nenhuma.
+ **Configuração de armazenamento de objetos compactados em cache:** habilitado. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

**Atenção**  
Como esta política tem um TTL mínimo maior que 0, o CloudFront irá armazenar em cache o conteúdo pelo menos durante o período especificado no TTL mínimo da política de cache, mesmo se as diretivas `Cache-Control: no-cache`, `no-store` ou `private` estiverem presentes nos cabeçalhos de origem.

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

[Visualizar essa política no console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/b2884449-e4de-46a7-ac36-70bc7f1ddd6d)

Essa política foi projetada para otimizar a eficiência do cache minimizando os valores incluídos na chave de cache. Nenhuma string de consulta, cabeçalho ou cookie é incluído. Essa política é idêntica à anterior, mas desabilita a configuração de armazenamento de objetos compactados em cache.

Ao usar o CloudFormation, a AWS CLI ou a API do CloudFront, o ID dessa política é:

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

Essa política tem as seguintes configurações:
+ **TTL mínimo:** 1 segundo
+ **TTL máximo:** 31.536.000 segundos (365 dias)
+ **TTL padrão:** 86.400 segundos (24 horas)
+ **Cabeçalhos incluídos na chave de cache:** nenhum
+ **Cookies incluídos na chave de cache:** nenhum
+ **Strings de consulta incluídas na chave de cache:** nenhuma
+ **Configuração de armazenamento de objetos compactados em cache:** desabilitado

**Atenção**  
Como esta política tem um TTL mínimo maior que 0, o CloudFront irá armazenar em cache o conteúdo pelo menos durante o período especificado no TTL mínimo da política de cache, mesmo se as diretivas `Cache-Control: no-cache`, `no-store` ou `private` estiverem presentes nos cabeçalhos de origem.

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

[Visualizar essa política no console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/08627262-05a9-4f76-9ded-b50ca2e3a84f)

Esta política foi projetada para uso com uma origem que é um endpoint do AWS Elemental MediaPackage.

Ao usar o CloudFormation, a AWS CLI ou a API do CloudFront, o ID dessa política é:

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

Essa política tem as seguintes configurações:
+ **TTL mínimo:** 0 segundo
+ **TTL máximo:** 31.536.000 segundos (365 dias)
+ **TTL padrão:** 86.400 segundos (24 horas)
+ **Cabeçalhos incluídos na chave de cache:**
  + `Origin`

  O cabeçalho normalizado `Accept-Encoding` também será incluído porque a configuração de objetos compactados de cache está habilitada para Gzip. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookies incluídos na chave de cache:** nenhum
+ **Strings de consulta incluídas na chave de cache:**
  + `aws.manifestfilter`
  + `start`
  + `end`
  + `m`
+ **Configuração de armazenamento de objetos compactados em cache:** habilitado para Gzip. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

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

[Visualizar essa política no console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/83da9c7e-98b4-4e11-a168-04f0df8e2c65)

Essa política foi projetada para uso com uma origem que exibe cabeçalhos de resposta HTTP `Cache-Control` e não veicula conteúdo diferente com base nos valores presentes na string de consulta. Se a origem fornecer conteúdo diferente com base em valores presentes na string de consulta, pense em usar [UseOriginCacheControlHeaders-QueryStrings](#managed-cache-policy-origin-cache-headers-query-strings).

Ao usar o CloudFormation, a AWS CLI ou a API do CloudFront, o ID dessa política é:

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

Essa política tem as seguintes configurações:
+ **TTL mínimo:** 0 segundo
+ **TTL máximo:** 31.536.000 segundos (365 dias)
+ **TTL padrão:** 0 segundo
+ **Cabeçalhos incluídos na chave de cache:**
  + `Host`
  + `Origin`
  + `X-HTTP-Method-Override`
  + `X-HTTP-Method`
  + `X-Method-Override`

  O cabeçalho normalizado `Accept-Encoding` também é incluído porque a configuração de objetos compactados de cache está habilitada. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookies incluídos na chave de cache**: todos os cookies serão incluídos.
+ **Strings de consulta incluídas na chave de cache:** nenhuma.
+ **Configuração de armazenamento de objetos compactados em cache:** habilitado. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

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

[Visualizar essa política no console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4cc15a8a-d715-48a4-82b8-cc0b614638fe)

Essa política foi projetada para uso com uma origem que exibe cabeçalhos de resposta HTTP `Cache-Control` e veicula conteúdo diferente com base em valores presentes na string de consulta. Se a origem não fornecer conteúdo diferente com base em valores presentes na string de consulta, pense em usar [UseOriginCacheControlHeaders](#managed-cache-policy-origin-cache-headers).

Ao usar o CloudFormation, a AWS CLI ou a API do CloudFront, o ID dessa política é:

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

Essa política tem as seguintes configurações:
+ **TTL mínimo:** 0 segundo
+ **TTL máximo:** 31.536.000 segundos (365 dias)
+ **TTL padrão:** 0 segundo
+ **Cabeçalhos incluídos na chave de cache:**
  + `Host`
  + `Origin`
  + `X-HTTP-Method-Override`
  + `X-HTTP-Method`
  + `X-Method-Override`

  O cabeçalho normalizado `Accept-Encoding` também é incluído porque a configuração de objetos compactados de cache está habilitada. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).
+ **Cookies incluídos na chave de cache**: todos os cookies serão incluídos.
+ **Strings de consulta incluídas na chave de cache**: todas as strings de consulta serão incluídas.
+ **Configuração de armazenamento de objetos compactados em cache:** habilitado. Para obter mais informações, consulte o [Suporte à compactação](cache-key-understand-cache-policy.md#cache-policy-compressed-objects).

# Noções básicas sobre a chave de cache
<a name="understanding-the-cache-key"></a>

A *chave de cache* determina se a solicitação de um visualizador para um ponto de presença do CloudFront resulta em um *acerto de cache*. A chave de cache é o identificador exclusivo de um objeto no cache. Cada objeto no cache tem uma chave de cache exclusiva.

Um acerto de cache ocorre quando uma solicitação de visualizador gera a mesma chave de cache de uma solicitação anterior, e o objeto dessa chave de cache está no cache do local da borda e é válido. Quando há um acerto de cache, o objeto solicitado é fornecido ao visualizador de um ponto de presença do CloudFront, o que traz os seguintes benefícios:
+ Carga reduzida no servidor de origem
+ Latência reduzida para o visualizador

É possível obter melhor performance do site ou da aplicação quando você tem uma *taxa de acertos de cache* maior (uma proporção maior de solicitações do visualizador que resultam em um acerto de cache). Uma maneira de melhorar a taxa de acertos do cache é incluir apenas os valores mínimos necessários na chave de cache. Para obter mais informações, consulte as seções a seguir.

É possível modificar os valores (strings de consulta de URL, cabeçalhos HTTP e cookies) na chave de cache usando uma [política de cache](controlling-the-cache-key.md). (Você também pode modificar a chave de cache usando uma [função do Lambda@Edge](lambda-at-the-edge.md) ou uma [função do CloudFront](cloudfront-functions.md) em uma solicitação do visualizador.) Antes de modificar a chave de cache, é importante entender como a aplicação foi projetada e quando e como ela pode fornecer respostas diferentes com base nas características da solicitação do visualizador. Quando um valor na solicitação do visualizador determinar a resposta retornada pela origem, inclua esse valor na chave de cache. Mas se você incluir um valor na chave de cache que não afete a resposta retornada pela origem, poderá acabar armazenando objetos duplicados em cache.

## Chave de cache padrão
<a name="cache-key-default"></a>

Por padrão, a chave de cache de uma distribuição do CloudFront inclui as seguintes informações:
+ O nome de domínio da distribuição do CloudFront (por exemplo, d111111abcdef8.cloudfront.net)
+ O caminho do URL do objeto solicitado (por exemplo, `/content/stories/example-story.html`)

**nota**  
O método `OPTIONS` está incluído na chave de cache para solicitações de `OPTIONS`. Isto significa que respostas para as solicitações de `OPTIONS` são armazenadas em cache separadamente das respostas para as solicitações de `GET` e `HEAD`.

Outros valores da solicitação do visualizador não são incluídos na chave de cache, por padrão. Considere a seguinte solicitação HTTP de um navegador da Web.

```
            GET /content/stories/example-story.html?ref=0123abc&split-pages=false HTTP/1.1
            Host: d111111abcdef8.cloudfront.net
            User-Agent: Mozilla/5.0 Gecko/20100101 Firefox/68.0
            Accept: text/html,*/*
            Accept-Language: en-US,en
            Cookie: session_id=01234abcd
            Referer: https://news.example.com/
```

Quando uma solicitação de visualizador como essa do exemplo chega a um local da borda do CloudFront, o CloudFront usa a chave de cache para determinar se há um acerto de cache. Por padrão, somente os seguintes componentes da solicitação são incluídos na chave de cache: `/content/stories/example-story.html` e `d111111abcdef8.cloudfront.net`. Se o objeto solicitado não estiver no cache (uma falha de cache), o CloudFront enviará uma solicitação à origem para obter o objeto. Depois de obter o objeto, o CloudFront o retorna ao visualizador e o armazena no cache do ponto de presença.

Quando o CloudFront recebe outra solicitação para o mesmo objeto, conforme determinado pela chave de cache, o CloudFront fornece o objeto armazenado em cache para o visualizador imediatamente, sem enviar uma solicitação à origem. Por exemplo, considere a seguinte solicitação HTTP que é recebida após a solicitação anterior.

```
            GET /content/stories/example-story.html?ref=xyz987&split-pages=true HTTP/1.1
            Host: d111111abcdef8.cloudfront.net
            User-Agent: Mozilla/5.0 AppleWebKit/537.36 Chrome/83.0.4103.116
            Accept: text/html,*/*
            Accept-Language: en-US,en
            Cookie: session_id=wxyz9876
            Referer: https://rss.news.example.net/
```

Essa solicitação é para o mesmo objeto que a solicitação anterior, embora seja diferente da solicitação anterior. Ela tem uma string de consulta de URL diferente, cabeçalhos `User-Agent` e `Referer` diferentes, e outro cookie de `session_id`. No entanto, nenhum desses valores faz parte da chave de cache por padrão, portanto, essa segunda solicitação resulta em um acerto de cache.

## Personalizar a chave de cache
<a name="cache-key-custom"></a>

Em alguns casos, convém incluir mais informações na chave de cache, mesmo que isso possa resultar em menos acertos de cache. Você especifica o que incluir na chave de cache usando uma [política de cache](controlling-the-cache-key.md).

Por exemplo, se o servidor de origem usar o cabeçalho HTTP `Accept-Language` em solicitações do visualizador para retornar conteúdo diferente com base no idioma do visualizador, convém incluir esse cabeçalho na chave de cache. Quando você faz isso, o CloudFront usa esse cabeçalho para determinar os acertos de cache e inclui o cabeçalho nas *solicitações de origem* (solicitações que o CloudFront envia à origem quando há uma falha de cache).

Uma consequência potencial da inclusão de valores adicionais na chave de cache é que o CloudFront pode acabar armazenando objetos duplicados em cache devido à variação que pode ocorrer em solicitações do visualizador. Por exemplo, os visualizadores podem enviar um dos seguintes valores para o cabeçalho `Accept-Language`:
+ `en-US,en`
+ `en,en-US`
+ `en-US, en`
+ `en-US`

Todos esses valores diferentes indicam que o idioma do visualizador é o inglês, mas a variação pode fazer com que o CloudFront armazene o mesmo objeto em cache várias vezes. Isso pode reduzir os acertos de cache e aumentar o número de solicitações de origem. Para evitar essa duplicação, não coloque o cabeçalho `Accept-Language` na chave de cache. Em vez disso, configure o site ou a aplicação de modo que eles usem URLs diferentes para conteúdo em diferentes idiomas (por exemplo, `/en-US/content/stories/example-story.html`).

Para qualquer valor específico que você pretenda incluir na chave de cache, entenda quantas variações diferentes desse valor podem aparecer nas solicitações do visualizador. Para determinados valores de solicitação, raramente faz sentido incluí-los na chave de cache. Por exemplo, o cabeçalho `User-Agent` pode ter milhares de variações exclusivas, portanto, geralmente ele não é um bom candidato para inclusão na chave de cache. Os cookies que têm valores específicos do usuário ou específicos da sessão e são exclusivos em milhares (ou mesmo milhões) de solicitações também não são bons candidatos para inclusão na chave de cache. Se você incluir esses valores na chave de cache, cada variação exclusiva resultará em outra cópia do objeto no cache. Se essas cópias do objeto não forem exclusivas, ou se você acabar com um número tão grande de objetos ligeiramente diferentes que cada objeto obtém apenas um pequeno número de acertos de cache, convém considerar uma abordagem diferente. É possível excluir esses valores altamente variáveis da chave de cache ou marcar objetos como não armazenáveis em cache.

Tenha cuidado ao personalizar a chave de cache. Às vezes, isso é desejável, mas pode ter consequências não intencionais, como armazenar em cache objetos duplicados, reduzir a taxa de acertos do cache e aumentar o número de solicitações de origem. Se o site ou a aplicação de origem precisar receber determinados valores de solicitações do visualizador para análise, telemetria ou outros usos, mas esses valores não alterarem o objeto retornado pela origem, use uma [política de solicitação de origem](controlling-origin-requests.md) para incluir esses valores em solicitações de origem, mas *não* os inclua na chave de cache.