

# Controlar por quanto tempo o CloudFront armazena erros em cache
<a name="custom-error-pages-expiration"></a>

Por padrão, o CloudFront armazena em cache as respostas durante 10 segundos. Por sua vez, o CloudFront envia a próxima solicitação do objeto à origem para ver se o problema que causou o erro foi resolvido e se o objeto solicitado está disponível.

É possível especificar a duração, o **Error Caching Minimum TTL (TTL mínimo de armazenamento em cache do erro)**, de cada código de status 4xx e 5xx armazenado em cache pelo CloudFront. (Para ter mais informações, consulte [Códigos de status HTTP 4xx e 5xx armazenados em cache pelo CloudFront](HTTPStatusCodes.md#HTTPStatusCodes-cached-errors).) Quando você especificar uma duração, observe o seguinte:
+ Se você especificar uma duração curta de armazenamento de erros em cache, o CloudFront encaminhará mais solicitações para a origem do que se você especificar um período maior. Para erros 5xx, isso pode agravar o problema que originalmente fez com que a origem retornasse um erro.
+ Quando a origem retorna um erro para um objeto, o CloudFront responde às solicitações do objeto com a resposta de erro ou com a página de erro personalizada até que a duração do armazenamento em cache expire. Se você especificar uma duração longa para o armazenamento de erros em cache, o CloudFront poderá continuar a responder às solicitações com uma resposta de erro ou com a página de erro personalizada por um longo período após o objeto se tornar disponível novamente.

**nota**  
É possível criar uma página de erro personalizada para o código de status HTTP 416 (intervalo solicitado insatisfatório) e alterar o código de status HTTP retornado pelo CloudFront aos visualizadores quando a origem retornar um código de status 416 ao CloudFront. (Para obter mais informações, consulte [Alterar códigos de resposta exibidos pelo CloudFront](custom-error-pages-response-code.md).) No entanto, o CloudFront não armazena em cache as respostas do código de status 416, portanto, mesmo se você especificar um valor para o **TTL mínimo de cache de erro** para o código de status 416, o CloudFront não o usará.

Para controlar o tempo que o CloudFront armazena erros em cache para objetos individuais, configure seu servidor de origem para adicionar o cabeçalho aplicável à resposta de erro desse objeto.

Se a origem adicionar uma diretiva `Cache-Control: max-age` ou `Cache-Control: s-maxage`, ou um cabeçalho `Expires`, o CloudFront armazenará as respostas de erro em cache pelo valor no cabeçalho ou pelo valor do **Error Caching Minimum TTL** (TTL mínimo de armazenamento em cache de erros), o que for maior.

**nota**  
Os valores `Cache-Control: max-age` e `Cache-Control: s-maxage` não podem ser maiores que o valor de **Maximum TTL** (TTL máximo) definido para o comportamento de cache para o qual a página de erro está sendo buscada.

Se a origem adicionar uma diretiva `Cache-Control: no-store`, `Cache-Control: no-cache` ou `Cache-Control: private` para os códigos de erro 404, 410, 414 ou 501, o CloudFront não armazenará em cache a resposta de erro. Com relação a todos os outros códigos de erro, o CloudFront ignorará as diretivas `no-store`, `no-cache` e `private` e armazenará em cache a resposta de erro referente ao valor de **Error Caching Minimum TTL**.

Se a origem adicionar outras diretivas `Cache-Control` ou nenhum cabeçalho, o CloudFront armazenará as respostas de erro em cache pelo valor de **Error Caching Minimum TTL** (TTL mínimo de armazenamento em cache de erros).

Se o tempo de expiração de um código de status 4xx ou 5xx para um objeto for maior do que você deseja e o objeto estiver disponível novamente, você poderá invalidar o código de erro armazenado em cache usando a URL do objeto solicitado. Se a origem estiver retornando uma resposta de erro para vários objetos, você precisará invalidar cada objeto separadamente. Para obter mais informações sobre como invalidar objetos, consulte [Invalidar arquivos para remover conteúdo](Invalidation.md).

Se você tiver o armazenamento em cache habilitado para uma origem de bucket do S3 e configurar um TTL mínimo de armazenamento de erros em cache de 0 segundo em sua distribuição do CloudFront, ainda verá um TTL mínimo de armazenamento de erros em cache de 1 segundo para erros de origem do S3. O CloudFront faz isso para proteger sua origem contra ataques de DDoS. Isso não se aplica a outros tipos de origem.