

# Control de la clave de caché con una política
<a name="controlling-the-cache-key"></a>

Con una *política de caché* de CloudFront, puede especificar encabezados HTTP, cookies y cadenas de consultas que CloudFront incluye en la *clave de caché* para objetos que se almacenan en caché en las ubicaciones periféricas de CloudFront. La clave de caché es el identificador único de cada objeto de la caché y determina si una solicitud de lector de HTTP da como resultado un *acierto de la caché*.

Un acierto de caché se produce cuando una solicitud de lector genera la misma clave de caché que una solicitud anterior y el objeto de esa clave de caché está en la caché de la ubicación periférica y es válido. Cuando hay un acierto de caché, el objeto se proporciona al lector desde una ubicación periférica de CloudFront, lo que tiene los siguientes beneficios:
+ Carga reducida en el servidor de origen
+ Latencia reducida para el lector

La inclusión de menos valores en la clave de caché aumenta la probabilidad de un acierto de caché. Así puede obtener un mejor rendimiento de su sitio web o aplicación, ya que tiene una *proporción de aciertos de caché* más alta (una mayor proporción de solicitudes de lectores que da como resultado un acierto de caché). Para obtener más información, consulte [Descripción de la clave de caché](understanding-the-cache-key.md).

Para controlar la clave de caché, se utiliza una *política de caché* de CloudFront. Puede asociar una política de caché a uno o más comportamientos de caché en una distribución de CloudFront.

También puede utilizar la política de caché para especificar la configuración del periodo de vida (TTL) de los objetos de la caché de CloudFront y habilitar CloudFront para que solicite y almacene en caché objetos comprimidos.

**nota**  
La configuración de la caché no afecta a las solicitudes de gRPC porque el tráfico de gRPC no se puede almacenar en caché. Para obtener más información, consulte [Uso de gRPC con distribuciones de CloudFront](distribution-using-grpc.md).

**Topics**
+ [Descripción de las políticas de caché](cache-key-understand-cache-policy.md)
+ [Creación de políticas de caché](cache-key-create-cache-policy.md)
+ [Uso de políticas de caché administradas](using-managed-cache-policies.md)
+ [Descripción de la clave de caché](understanding-the-cache-key.md)

# Descripción de las políticas de caché
<a name="cache-key-understand-cache-policy"></a>

Puede utilizar una política de caché para mejorar la proporción de aciertos de caché controlando los valores (cadenas de consulta de URL, encabezados HTTP y cookies) que se incluyen en la clave de caché. CloudFront proporciona algunas políticas de caché predefinidas, conocidas como *políticas administradas*, para casos de uso comunes. Puede usar estas políticas administradas o puede crear su propia política de caché que sea específica para sus necesidades. Para obtener más información sobre las políticas administradas, consulte [Uso de políticas de caché administradas](using-managed-cache-policies.md).

Una política de caché contiene la siguiente configuración, que se clasifica en *información de política*, *configuración del tiempo de vida (TTL)* y *configuración de clave de caché*.

## Información de políticas
<a name="cache-key-understand-cache-policy-info"></a>

**Nombre**  
Un nombre para identificar la política de caché. En la consola, se utiliza el nombre para asociar la política de caché a un comportamiento de caché.

**Descripción**  
Un comentario para describir la política de caché. Esto es opcional, pero puede ayudarle a identificar el propósito de la política de caché.

## Configuración del tiempo de vida (TTL)
<a name="cache-key-understand-cache-policy-ttl"></a>

La configuración del tiempo de vida (TTL) funciona junto con los encabezados HTTP `Cache-Control` y `Expires` (si están en la respuesta de origen) para determinar cuánto tiempo permanecen válidos los objetos de la caché de CloudFront.

**Tiempo de vida mínimo**  
La cantidad de tiempo mínima, en segundos, que desea que los objetos permanezcan en la caché de CloudFront antes de que CloudFront compruebe con el origen si el objeto se ha actualizado. Para obtener más información, consulte [Administración de cuánto tiempo se mantiene el contenido en una caché (vencimiento)](Expiration.md).  
Si el TTL mínimo es superior a 0, CloudFront almacenará en caché el contenido al menos durante el tiempo especificado en el TTL mínimo de la política de caché, aunque estén presentes las directivas `Cache-Control: no-cache`, `no-store` o `private` en los encabezados de origen.

**Tiempo de vida máximo**  
La cantidad de tiempo máxima, en segundos, que los objetos permanecen en la caché de CloudFront antes de que CloudFront compruebe con el origen si el objeto se ha actualizado. CloudFront utiliza esta configuración solo cuando el origen envía los encabezados `Cache-Control` o `Expires` con el objeto. Para obtener más información, consulte [Administración de cuánto tiempo se mantiene el contenido en una caché (vencimiento)](Expiration.md).

**Tiempo de vida (TTL) predeterminado**  
La cantidad de tiempo predeterminada, en segundos, que desea que los objetos permanezcan en la caché de CloudFront antes de que CloudFront compruebe con el origen si el objeto se ha actualizado. CloudFront utiliza este valor de configuración como TTL del objeto solo cuando el origen *no* envía encabezados `Cache-Control` ni `Expires` con el objeto. Para obtener más información, consulte [Administración de cuánto tiempo se mantiene el contenido en una caché (vencimiento)](Expiration.md).

**nota**  
Si los valores de **TTL mínimo**, **TTL máximo** y **TTL predeterminado** están establecidos en 0, se deshabilita el almacenamiento en caché de CloudFront.

## Configuración de la clave de caché
<a name="cache-key-understand-cache-policy-settings"></a>

La configuración de la clave de caché especifica los valores de las solicitudes de lector que CloudFront incluye en la clave de caché. Los valores pueden incluir cadenas de consulta de URL, encabezados HTTP y cookies. Los valores que se incluyen en la clave de caché se incluyen automáticamente en las solicitudes que CloudFront envía al origen, conocidas como *solicitudes de origen*. Para obtener información sobre cómo controlar las solicitudes de origen sin afectar a la clave de caché, consulte [Control de las solicitudes de origen con una política](controlling-origin-requests.md).

La configuración de la clave de caché incluye:
+ [Encabezados](#cache-policy-headers)
+ [Cookies](#cache-policy-cookies)
+ [Cadenas de consulta](#cache-policy-query-strings)
+ [Compatibilidad con la compresión](#cache-policy-compressed-objects)

**Encabezados**  
Los encabezados HTTP en las solicitudes del lector que CloudFront incluye en la clave de caché y en las solicitudes de origen. En encabezados, puede elegir una de las siguientes configuraciones:  
+ **None (Ninguno)**: los encabezados HTTP en las solicitudes de lector *no* se incluyen en la clave de caché y *no* se incluyen automáticamente en las solicitudes de origen.
+ **Include the following headers (Incluir los siguientes encabezados)**: esta opción le permite especificar los encabezados HTTP en las solicitudes de lector que se incluyen en la clave de caché y, de forma automática, en las solicitudes de origen.
Cuando se utiliza la opción **Include the following headers (Incluir los siguientes encabezados)**, se especifican los encabezados HTTP por su nombre, no por su valor. Por ejemplo, fíjese en el encabezado HTTP siguiente:  

```
Accept-Language: en-US,en;q=0.5
```
En este caso, se especifica el encabezado como `Accept-Language`, no como `Accept-Language: en-US,en;q=0.5`. Sin embargo, CloudFront incluye el encabezado completo, incluido su valor, en la clave de caché y en las solicitudes de origen.  
También puede incluir ciertos encabezados generados por CloudFront en la clave de caché. Para obtener más información, consulte [Añadido de encabezados de solicitudes de CloudFront](adding-cloudfront-headers.md).

**Cookies**  
Las cookies en las solicitudes del lector que CloudFront incluye en la clave de caché y en las solicitudes de origen. Para cookies, puede elegir una de las siguientes configuraciones:  
+ **None (Ninguna)**: las cookies en las solicitudes de lector *no* se incluyen en la clave de caché y *no* se incluyen automáticamente en las solicitudes de origen.
+ **All (Todas)**: las cookies en las solicitudes de lector se incluyen en la clave de caché y se incluyen automáticamente en las solicitudes de origen.
+ **Include specified cookies (Incluir las cookies especificadas)**: esta opción le permite especificar las cookies de las solicitudes de lector que se incluyen en la clave de caché y, de forma automática, en las solicitudes de origen.
+ **Include all cookies except (Incluir todas las cookies excepto)**: esta opción le permite especificar las cookies de las solicitudes de lector que *no* se incluyen en la clave de caché y *no* se incluyen de forma automática en las solicitudes de origen. Todas las demás cookies, excepto las que especifique, *se incluyen* en la clave de caché y se incluyen automáticamente en las solicitudes de origen.
Cuando utiliza la configuración **Include specified cookies (Incluir las cookies especificadas)** o **Include all cookies except (Incluir todas las cookies excepto)**, se especifican las cookies por su nombre, no por su valor. Por ejemplo, fíjese en el encabezado `Cookie` siguiente:  

```
Cookie: session_ID=abcd1234
```
En este caso, se especifica la cookie como `session_ID`, no como `session_ID=abcd1234`. Sin embargo, CloudFront incluye la cookie completa, incluido su valor, en la clave de caché y en las solicitudes de origen.

**Cadenas de consulta**  
Las cadenas de consulta de URL en las solicitudes de lector que CloudFront incluye en la clave de caché y en las solicitudes de origen. Para cadenas de consulta, puede elegir una de las opciones siguientes:  
+ **None (Ninguna)**: las cadenas de consulta de las solicitudes del lector *no* se incluyen en la clave de caché y *no* se incluyen automáticamente en las solicitudes de origen.
+ **All (Todas)**: todas las cadenas de consulta de las solicitudes de lector se incluyen en la clave de caché y también se incluyen automáticamente en las solicitudes de origen.
+ **Include specified query strings (Incluir cadenas de consulta especificadas)**: esta opción le permite especificar las cadenas de consulta de las solicitudes de lector que se incluyen en la clave de caché y, de forma automática, en las solicitudes de origen.
+ **Include all query strings except (Incluir todas las cadenas de consulta excepto)**: esta opción le permite especificar las cadenas de consulta de las solicitudes de lector que *no* se incluyen en la clave de caché y *no* se incluyen de forma automática en las solicitudes de origen. Todas las demás cadenas de consulta, excepto las especificadas, *se incluyen* en la clave de caché y se incluyen automáticamente en las solicitudes de origen.
Cuando se utiliza la configuración **Include specified query strings (Incluir cadenas de consulta especificadas)** o **Include all query strings except (Incluir todas las cadenas de consulta excepto)**, se especifican cadenas de consulta por su nombre, no por su valor. Por ejemplo, fíjese en la ruta URL siguiente:  

```
/content/stories/example-story.html?split-pages=false
```
En este caso, se especifica la cadena de consulta como `split-pages`, no como `split-pages=false`. Sin embargo, CloudFront incluye la cadena de consulta completa, incluido el valor, en la clave de caché y en las solicitudes de origen.  
Para la configuración de la clave de caché, CloudFront trata el carácter de asterisco (`*`) para los encabezados, las cadenas de consulta y las cookies como una cadena literal, no como un comodín.

**Compatibilidad con la compresión**  
Esta configuración permite a CloudFront solicitar y almacenar en caché objetos comprimidos en los formatos de compresión Gzip o Brotli, cuando el lector lo admite. Esta configuración también permite que la [compresión de CloudFront](ServingCompressedFiles.md) funcione. Los lectores indican su compatibilidad con estos formatos de compresión con el encabezado HTTP `Accept-Encoding`.  
Los navegadores web Chrome y Firefox admiten compresión Brotli solo cuando la solicitud se envía mediante HTTPS. Estos navegadores no admiten Brotli con solicitudes HTTP.
Habilite esta configuración cuando se cumpla cualquiera de las siguientes condiciones:  
+ Su origen devuelve objetos comprimidos Gzip cuando los lectores los admiten (las solicitudes contienen el encabezado HTTP `Accept-Encoding` con `gzip` como valor). En este caso, utilice la configuración habilitada para **Gzip ** (establezca `EnableAcceptEncodingGzip` en `true` en la API de CloudFront, los SDK de AWS, AWS CLI o CloudFormation).
+ El origen devuelve objetos comprimidos Brotli cuando los lectores los admiten (las solicitudes contienen el encabezado HTTP `Accept-Encoding` con `br` como valor). En este caso, utilice la configuración **Brotli enabled (Brotli habilitado)** (establezca `EnableAcceptEncodingBrotli` en `true` en la API de CloudFront, los SDK de AWS, AWS CLI o CloudFormation).
+ El comportamiento de caché al que está asociada esta política de caché se configura con [compresión de CloudFront](ServingCompressedFiles.md). En este caso, puede habilitar el almacenamiento en caché para Gzip o Brotli, o ambos. Cuando la compresión de CloudFront está habilitada, habilitar el almacenamiento en caché para ambos formatos puede ayudar a reducir los costos de transferencia de datos salientes a Internet.
Si habilita el almacenamiento en caché para uno de estos formatos de compresión o ambos, no incluya el encabezado `Accept-Encoding` en una [política de solicitud de origen](controlling-origin-requests.md) asociada con el mismo comportamiento de caché. CloudFront siempre incluye este encabezado en las solicitudes de origen cuando el almacenamiento en caché está habilitado para cualquiera de estos formatos, por lo que incluir `Accept-Encoding` en una política de solicitud de origen no tiene ningún efecto.
Si el servidor de origen no devuelve objetos comprimidos Gzip o Brotli o si el comportamiento de caché no está configurado con compresión de CloudFront, no habilite el almacenamiento en caché para objetos comprimidos. Si lo hace, es posible que provoque una disminución en la [proporción de aciertos de caché](cache-hit-ratio.md).  
A continuación, se explica cómo afecta esta configuración a una distribución de CloudFront. Todos los escenarios que se muestran a continuación, suponen que la solicitud del lector incluye el encabezado `Accept-Encoding`. Cuando la solicitud del lector no incluye el encabezado `Accept-Encoding`, CloudFront no incluye este encabezado en la clave de caché y no lo incluye en la solicitud de origen correspondiente.    
**Cuando se habilita el almacenamiento en caché de objetos comprimidos para ambos formatos de compresión**  
Si el lector admite Gzip y Brotli, es decir, si los valores `gzip` y `br` están en el encabezado `Accept-Encoding` de la solicitud del lector, CloudFront hace lo siguiente:  
+ Normaliza el encabezado en `Accept-Encoding: br,gzip` e incluye el encabezado normalizado en la clave de caché. La clave de caché no incluye otros valores que estaban en el encabezado `Accept-Encoding` enviado por el lector.
+ Si la ubicación de borde tiene un objeto comprimido Brotli o Gzip en la caché que coincide con la solicitud y no ha caducado, la ubicación de borde devuelve el objeto al lector.
+ Si la ubicación periférica no tiene un objeto comprimido Brotli o Gzip en la caché que coincida con la solicitud y no haya vencido, CloudFront incluye el encabezado normalizado (`Accept-Encoding: br,gzip`) en la solicitud de origen correspondiente. La solicitud de origen no incluye otros valores que estaban en el encabezado `Accept-Encoding` enviado por el lector.
Si el lector admite un formato de compresión pero no el otro, por ejemplo, si `gzip` es un valor en el encabezado `Accept-Encoding` de la solicitud del lector pero `br` no, CloudFront hace lo siguiente:  
+ Normaliza el encabezado en `Accept-Encoding: gzip` e incluye el encabezado normalizado en la clave de caché. La clave de caché no incluye otros valores que estaban en el encabezado `Accept-Encoding` enviado por el lector.
+ Si la ubicación periférica tiene un objeto comprimido Gzip en la caché que coincide con la solicitud y no ha caducado, la ubicación de borde devuelve el objeto al lector.
+ Si la ubicación periférica no tiene un objeto comprimido Gzip en la caché que coincida con la solicitud y no haya vencido, CloudFront incluye el encabezado normalizado (`Accept-Encoding: gzip`) en la solicitud de origen correspondiente. La solicitud de origen no incluye otros valores que estaban en el encabezado `Accept-Encoding` enviado por el lector.
Para entender lo que CloudFront hace si el lector admite Brotli pero no Gzip, reemplace los dos formatos de compresión entre sí en el ejemplo anterior.  
Si el lector no admite Brotli ni Gzip, es decir, el encabezado `Accept-Encoding` de la solicitud del lector no contiene `br` ni `gzip` como valores, CloudFront:  
+ No incluye el encabezado `Accept-Encoding` en la clave de caché.
+ Incluye `Accept-Encoding: identity` en la solicitud de origen correspondiente. La solicitud de origen no incluye otros valores que estaban en el encabezado `Accept-Encoding` enviado por el lector.  
**Cuando el almacenamiento en caché de objetos comprimidos está habilitado para un formato de compresión, pero no para el otro**  
Si el lector admite el formato para el que está habilitado el almacenamiento en caché, por ejemplo, si el almacenamiento en caché de objetos comprimidos está habilitado para Gzip y el lector admite Gzip (`gzip` es uno de los valores del encabezado `Accept-Encoding` de la solicitud del lector), CloudFront hace lo siguiente:  
+ Normaliza el encabezado en `Accept-Encoding: gzip` e incluye el encabezado normalizado en la clave de caché.
+ Si la ubicación periférica tiene un objeto comprimido Gzip en la caché que coincide con la solicitud y no ha caducado, la ubicación de borde devuelve el objeto al lector.
+ Si la ubicación periférica no tiene un objeto comprimido Gzip en la caché que coincida con la solicitud y no haya vencido, CloudFront incluye el encabezado normalizado (`Accept-Encoding: gzip`) en la solicitud de origen correspondiente. La solicitud de origen no incluye otros valores que estaban en el encabezado `Accept-Encoding` enviado por el lector.
Este comportamiento es el mismo cuando el lector admite Gzip y Brotli (el encabezado `Accept-Encoding` de la solicitud del lector incluye `gzip` *y* `br` como valores), porque en este escenario, el almacenamiento en caché de objetos comprimidos para Brotli no está habilitado.  
Para entender lo que CloudFront hace si el almacenamiento en caché de objetos comprimidos está habilitado para Brotli pero no para Gzip, reemplace los dos formatos de compresión entre sí en el ejemplo anterior.  
Si el lector no admite el formato de compresión para el que está habilitado el almacenamiento en caché (el encabezado `Accept-Encoding` de la solicitud del lector no contiene el valor de ese formato), CloudFront:  
+ No incluye el encabezado `Accept-Encoding` en la clave de caché.
+ Incluye `Accept-Encoding: identity` en la solicitud de origen correspondiente. La solicitud de origen no incluye otros valores que estaban en el encabezado `Accept-Encoding` enviado por el lector.  
**Cuando se desactiva el almacenamiento en caché de objetos comprimidos para ambos formatos de compresión**  
Cuando el almacenamiento en caché de objetos comprimidos está desactivado para ambos formatos de compresión, CloudFront trata el encabezado `Accept-Encoding` igual que cualquier otro encabezado HTTP en la solicitud del lector. De forma predeterminada, no se incluye en la clave de caché y no se incluye en las solicitudes de origen. Puede incluirlo en la lista de encabezados de una política de caché o una política de solicitud de origen igual que cualquier encabezado HTTP.

# Creación de políticas de caché
<a name="cache-key-create-cache-policy"></a>

Puede utilizar una política de caché para mejorar la proporción de aciertos de caché controlando los valores (cadenas de consulta de URL, encabezados HTTP y cookies) que se incluyen en la clave de caché. Puede crear una política de caché en la consola de CloudFront con la AWS Command Line Interface (AWS CLI) o con la API de CloudFront.

Después de crear una política de caché, puede asociarla a uno o más comportamientos de caché en una distribución de CloudFront.

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

**Para crear una política de caché (consola)**

1. Inicie sesión en Consola de administración de AWS y abra la página **Policies (Políticas)** en la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home?#/policies](https://console.aws.amazon.com/cloudfront/v4/home?#/policies).

1. Elija **Create cache policy (Crear política de caché)**.

1. Elija la configuración deseada para esta política de caché. Para obtener más información, consulte [Descripción de las políticas de caché](cache-key-understand-cache-policy.md).

1. Cuando termine, elija **Create (Crear)**.

Después de crear una política de caché, puede asociarla a un comportamiento de caché.

**Para asociar una política de caché a una distribución existente (consola)**

1. Abra la página **Distributions (Distribuciones)** en la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

1. Elija la distribución que se va a actualizar y, a continuación, elija la pestaña **Behaviors (Comportamientos)**.

1. Elija el comportamiento de caché que se va a actualizar y, a continuación, elija **Edit (Editar)**.

   O bien, para crear un nuevo comportamiento de caché, elija **Create behavior (Crear comportamiento)**.

1. En la sección **Cache key and origin requests (Solicitudes de origen y clave de caché)**, asegúrese de elegir **Cache policy and origin request policy (Política de caché y política de solicitud de origen)**.

1. En **Cache policy (Política de caché)**, elija la política de caché que se va a asociar a este comportamiento de caché.

1. Elija **Save changes (Guardar cambios)** en la parte inferior de la página.

**Para asociar una política de caché a una nueva distribución (consola)**

1. Abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Elija **Create distribution (Crear distribución)**.

1. En la sección **Solicitudes de origen y clave de caché**, asegúrese de elegir **Política de caché y política de solicitud de origen**.

1. En **Cache policy** (Política de caché), elija la política de caché que se asocia al comportamiento predeterminado de la caché de esta distribución.

1. Elija la configuración deseada para el origen, el comportamiento predeterminado de la caché y la distribución. Para obtener más información, consulte [Referencia de toda la configuración de distribución](distribution-web-values-specify.md).

1. Cuando termine, elija **Create distribution (Crear distribución)**.

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

Para crear una política de caché con AWS Command Line Interface (AWS CLI), utilice el comando **aws cloudfront create-cache-policy**. Puede utilizar un archivo de entrada para proporcionar los parámetros de entrada del comando, en lugar de especificar cada parámetro individual como entrada de línea de comandos.

**Para crear una política de caché (CLI con archivo de entrada)**

1. Utilice el siguiente comando para crear un archivo denominado `cache-policy.yaml` que contenga todos los parámetros de entrada del comando **create-cache-policy**.

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

1. Abra el archivo llamado `cache-policy.yaml` que acaba de crear. Edite el archivo para especificar la configuración de política de caché que desee y, a continuación, guarde el archivo. Puede eliminar campos opcionales del archivo, pero no eliminar los campos obligatorios.

   Para obtener más información acerca de la configuración de política de caché, consulte [Descripción de las políticas de caché](cache-key-understand-cache-policy.md).

1. Utilice el siguiente comando para crear la política de caché utilizando parámetros de entrada del archivo de `cache-policy.yaml`.

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

   Anote el valor de `Id` en la salida del comando. Este es el ID de política de caché y lo necesita para asociar la política de caché al comportamiento de caché de una distribución de CloudFront.

**Para asociar una política de caché a una distribución existente (CLI con archivo de entrada)**

1. Utilice el comando siguiente para guardar la configuración de distribución de la distribución de CloudFront que desea actualizar. Reemplace *distribution\$1ID* por el ID de la distribución.

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

1. Abra el archivo llamado `dist-config.yaml` que acaba de crear. Edite el archivo, realizando los siguientes cambios en cada comportamiento de caché que actualice para utilizar una política de caché.
   + En el comportamiento de caché, agregue un campo denominado `CachePolicyId`. Para el valor del campo, utilice el ID de política de caché que anotó después de crear la política.
   + Elimine los campos `MinTTL`, `MaxTTL`, `DefaultTTL` y `ForwardedValues` del comportamiento de la caché. Estas configuraciones se especifican en la política de caché, por lo que no puede incluir estos campos ni una política de caché en el mismo comportamiento de caché.
   + Cambie el nombre del campo `ETag` a `IfMatch`, pero no cambie el valor del campo.

   Guarde el archivo cuando haya terminado.

1. Utilice el siguiente comando para actualizar la distribución y utilizar la política de caché. Reemplace *distribution\$1ID* por el ID de la distribución.

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

**Para asociar una política de caché a una nueva distribución (CLI con archivo de entrada)**

1. Utilice el siguiente comando para crear un archivo denominado `distribution.yaml` que contenga todos los parámetros de entrada del comando **create-distribution**.

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

1. Abra el archivo llamado `distribution.yaml` que acaba de crear. En el comportamiento de caché predeterminado, en el campo `CachePolicyId`, escriba el ID de política de caché que anotó después de crear la política. Siga editando el archivo para especificar la configuración de distribución que desee y, a continuación, guarde el archivo cuando termine.

   Para obtener más información acerca de la configuración de distribución, consulte [Referencia de toda la configuración de distribución](distribution-web-values-specify.md).

1. Utilice el siguiente comando para crear la distribución mediante los parámetros de entrada del archivo de `distribution.yaml`.

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

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

Para crear una política de caché con la API de CloudFront, utilice [CreateCachePolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateCachePolicy.html). Para obtener más información sobre los campos que especifique en esta llamada a la API, consulte [Descripción de las políticas de caché](cache-key-understand-cache-policy.md) y la documentación de referencia de la API para el SDK de AWS u otro cliente de la API.

Después de crear una política de caché, puede asociarla a un comportamiento de caché mediante una de las siguientes llamadas a la API:
+ Para asociarla a un comportamiento de caché en una distribución existente, utilice [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Para asociarlo con un comportamiento de caché en una nueva distribución, utilice [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Para estas llamadas a la API, proporcione el ID de la política de caché en el campo `CachePolicyId`, dentro de un comportamiento de caché. Para obtener más información sobre los otros campos que especifique en estas llamadas a la API, consulte [Referencia de toda la configuración de distribución](distribution-web-values-specify.md) y la documentación de referencia de la API para el SDK de AWS u otro cliente de la API.

------

# Uso de políticas de caché administradas
<a name="using-managed-cache-policies"></a>

CloudFront proporciona un conjunto de políticas de caché administradas que puede asociar a cualquiera de los comportamientos de caché de la distribución. Con una política de caché administrada, no necesita escribir ni mantener su propia política de caché. Las políticas administradas utilizan configuraciones optimizadas para casos de uso específicos.

Para utilizar una política de caché administrada, debe asociarla a un comportamiento de caché en su distribución. El proceso es el mismo que cuando crea una política de caché, pero en lugar de crear una nueva, simplemente asocia una de las políticas de caché administradas. Se asocia la política por nombre (con la consola) o por ID (con AWS CLI o los SDK). Los nombres e ID se muestran en la siguiente sección.

Para obtener más información, consulte [Creación de políticas de caché](cache-key-create-cache-policy.md).

En los temas siguientes, se describen las políticas de caché administradas que puede utilizar.

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

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/2e54312d-136d-493c-8eb9-b001f22f67d2)

Esta política está diseñada para usarse con un origen que es una aplicación web de [AWS Amplify](https://aws.amazon.com/amplify/).

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

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

Esta política tiene las siguientes opciones:
+ **TTL mínimo:** 2 segundos
+ **TTL máximo:** 600 segundos (10 minutos)
+ **TTL predeterminado:** 2 segundos
+ **Encabezados incluidos en la clave de caché:**
  + `Authorization`
  + `CloudFront-Viewer-Country`
  + `Host`

  El encabezado `Accept-Encoding` normalizado también se incluye porque la configuración de objetos comprimidos en caché está habilitada. Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).
+ **Cookies incluidas en la clave de caché:** se incluyen todas las cookies.
+ **Cadenas de consulta incluidas en la clave de caché:** se incluyen todas las cadenas de consulta.
+ **Configuración de objetos comprimidos en caché:** habilitada. Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).

**aviso**  
Dado que esta política tiene un TTL mínimo superior a 0, CloudFront almacenará en caché el contenido durante al menos el tiempo especificado en el TTL mínimo de la política de caché, aunque las directivas `Cache-Control: no-cache`, `no-store` o `private` estén presentes en los encabezados de origen.

### Políticas de caché de AWS Amplify Hosting
<a name="additional-amplify-policies"></a>

Amplify utiliza las siguientes políticas de caché administradas a fin de optimizar la configuración de caché predeterminada para las aplicaciones de los 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**  
Estas políticas solo las utiliza Amplify. No le recomendamos que las utilice para las distribuciones. 

Para obtener más información sobre cómo administrar la configuración de la caché para la aplicación alojada en Amplify, consulte [Managing cache configuration](https://docs.aws.amazon.com/amplify/latest/userguide/caching.html) en la *Guía del usuario de Amplify Hosting*.

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

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4135ea2d-6df8-44a3-9df3-4b5a84be39ad)

Esta política desactiva el almacenamiento en caché. Esta política es útil para el contenido dinámico y para las solicitudes que no se pueden almacenar en caché.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

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

Esta política tiene las siguientes opciones:
+ **TTL mínimo:** 0 segundos
+ **TTL máximo:** 0 segundos
+ **TTL predeterminado:** 0 segundos
+ **Encabezados incluidos en la clave de caché:** ninguno
+ **Cookies incluidas en la clave de caché:** ninguna
+ **Cadenas de consulta incluidas en la clave de caché:** ninguna
+ **Configuración de objetos comprimidos en caché:** desactivada

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

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/658327ea-f89d-4fab-a63d-7e88639e58f6)

Esta política está diseñada para optimizar la eficacia de la caché minimizando los valores que CloudFront incluye en la clave de caché. CloudFront no incluye cadenas de consulta ni cookies en la clave de caché y solo incluye el encabezado `Accept-Encoding` normalizado. Esto permite a CloudFront almacenar en caché objetos por separado en los formatos de compresión Gzip y Brotli cuando el origen los devuelve o cuando se habilita la [compresión de borde de CloudFront](ServingCompressedFiles.md).

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

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

Esta política tiene las siguientes opciones:
+ **TTL mínimo:** 1 segundo
+ **TTL máximo:** 31 536 000 segundos (365 días)
+ **TTL predeterminado:** 86 400 segundos (24 horas)
+ **Encabezados incluidos en la clave de caché:** no se incluye ninguno de forma explícita. El encabezado `Accept-Encoding` normalizado se incluye porque la configuración de objetos comprimidos en caché está habilitada. Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).
+ **Cookies incluidas en la clave de caché:** ninguna.
+ **Cadenas de consulta incluidas en la clave de caché:** ninguna.
+ **Configuración de objetos comprimidos en caché:** habilitada. Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).

**aviso**  
Dado que esta política tiene un TTL mínimo superior a 0, CloudFront almacenará en caché el contenido durante al menos el tiempo especificado en el TTL mínimo de la política de caché, aunque las directivas `Cache-Control: no-cache`, `no-store` o `private` estén presentes en los encabezados de origen.

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

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/b2884449-e4de-46a7-ac36-70bc7f1ddd6d)

Esta política está diseñada para optimizar la eficacia de la caché minimizando los valores incluidos en la clave de caché. No se incluyen cadenas de consulta, encabezados ni cookies. Esta política es idéntica a la anterior, pero desactiva la configuración de objetos comprimidos en caché.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

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

Esta política tiene las siguientes opciones:
+ **TTL mínimo:** 1 segundo
+ **TTL máximo:** 31 536 000 segundos (365 días)
+ **TTL predeterminado:** 86 400 segundos (24 horas)
+ **Encabezados incluidos en la clave de caché:** ninguno
+ **Cookies incluidas en la clave de caché:** ninguna
+ **Cadenas de consulta incluidas en la clave de caché:** ninguna
+ **Configuración de objetos comprimidos en caché:** desactivada

**aviso**  
Dado que esta política tiene un TTL mínimo superior a 0, CloudFront almacenará en caché el contenido durante al menos el tiempo especificado en el TTL mínimo de la política de caché, aunque las directivas `Cache-Control: no-cache`, `no-store` o `private` estén presentes en los encabezados de origen.

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

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/08627262-05a9-4f76-9ded-b50ca2e3a84f)

Esta política está diseñada para su uso con un origen que es un punto de enlace de AWS Elemental MediaPackage.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

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

Esta política tiene las siguientes opciones:
+ **TTL mínimo:** 0 segundos
+ **TTL máximo:** 31 536 000 segundos (365 días)
+ **TTL predeterminado:** 86 400 segundos (24 horas)
+ **Encabezados incluidos en la clave de caché:**
  + `Origin`

  El encabezado `Accept-Encoding` normalizado también se incluye porque la configuración de objetos comprimidos en caché está habilitada para Gzip. Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).
+ **Cookies incluidas en la clave de caché:** ninguna
+ **Cadenas de consulta incluidas en la clave de caché:**
  + `aws.manifestfilter`
  + `start`
  + `end`
  + `m`
+ **Configuración de objetos comprimidos en caché:** habilitada para Gzip Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).

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

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/83da9c7e-98b4-4e11-a168-04f0df8e2c65)

Esta política está diseñada para usarse con un origen que devuelva encabezados de respuesta `Cache-Control` HTTP y no muestre contenido diferente en función de los valores presentes en la cadena de consulta. Si el origen ofrece contenido en función de los valores de la cadena de consulta, plantéese el uso de [UseOriginCacheControlHeaders-QueryStrings](#managed-cache-policy-origin-cache-headers-query-strings).

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

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

Esta política tiene las siguientes opciones:
+ **TTL mínimo:** 0 segundos
+ **TTL máximo:** 31 536 000 segundos (365 días)
+ **TTL predeterminado:** 0 segundos
+ **Encabezados incluidos en la clave de caché:**
  + `Host`
  + `Origin`
  + `X-HTTP-Method-Override`
  + `X-HTTP-Method`
  + `X-Method-Override`

  El encabezado `Accept-Encoding` normalizado también se incluye porque la configuración de objetos comprimidos en caché está habilitada. Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).
+ **Cookies incluidas en la clave de caché:** se incluyen todas las cookies.
+ **Cadenas de consulta incluidas en la clave de caché:** ninguna.
+ **Configuración de objetos comprimidos en caché:** habilitada. Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).

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

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/cache/4cc15a8a-d715-48a4-82b8-cc0b614638fe)

Esta política está diseñada para usarse con un origen que devuelva encabezados de respuesta `Cache-Control` HTTP y muestre contenido diferente en función de los valores presentes en la cadena de consulta. Si el origen no ofrece contenido en función de los valores de la cadena de consulta, plantéese el uso de [UseOriginCacheControlHeaders](#managed-cache-policy-origin-cache-headers).

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

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

Esta política tiene las siguientes opciones:
+ **TTL mínimo:** 0 segundos
+ **TTL máximo:** 31 536 000 segundos (365 días)
+ **TTL predeterminado:** 0 segundos
+ **Encabezados incluidos en la clave de caché:**
  + `Host`
  + `Origin`
  + `X-HTTP-Method-Override`
  + `X-HTTP-Method`
  + `X-Method-Override`

  El encabezado `Accept-Encoding` normalizado también se incluye porque la configuración de objetos comprimidos en caché está habilitada. Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).
+ **Cookies incluidas en la clave de caché:** se incluyen todas las cookies.
+ **Cadenas de consulta incluidas en la clave de caché:** se incluyen todas las cadenas de consulta.
+ **Configuración de objetos comprimidos en caché:** habilitada. Para obtener más información, consulte [Compression support](cache-key-understand-cache-policy.md#cache-policy-compressed-objects) (Ayuda para la compresión).

# Descripción de la clave de caché
<a name="understanding-the-cache-key"></a>

La *clave de caché* determina si una solicitud del lector a una ubicación de borde de CloudFront da como resultado un *acierto de caché*. La clave de caché es el identificador único de un objeto en la caché. Cada objeto de la caché tiene una clave de caché única.

Un acierto de caché se produce cuando una solicitud de lector genera la misma clave de caché que una solicitud anterior y el objeto de esa clave de caché está en la caché de la ubicación de borde y es válido. Cuando hay un acierto de caché, el objeto solicitado atiende al lector desde una ubicación de borde de CloudFront, lo que tiene los siguientes beneficios:
+ Carga reducida en el servidor de origen
+ Latencia reducida para el lector

Puede obtener un mejor rendimiento de su sitio web o aplicación cuando tiene una *proporción de aciertos de caché* mayor (una mayor proporción de solicitudes de lectores que dan lugar a un acierto de caché). Una forma de mejorar la proporción de aciertos de caché es incluir solo los valores mínimos necesarios en la clave de caché. Para obtener más información, consulte las siguientes secciones.

Puede modificar los valores (cadenas de consulta de URL, encabezados HTTP y cookies) en la clave de caché mediante una [política de caché](controlling-the-cache-key.md). (También puede modificar la clave de caché mediante una [función de Lambda@Edge](lambda-at-the-edge.md) o una [función de CloudFront](cloudfront-functions.md) cuando lo solicite un espectador). Antes de modificar la clave de caché, es importante comprender cómo se diseña la aplicación y cuándo y cómo es posible que sirva diferentes respuestas en función de las características de la solicitud del lector. Cuando un valor de la solicitud del lector determina la respuesta que devuelve el origen, debe incluir ese valor en la clave de caché. Pero si incluye un valor en la clave de caché que no afecta a la respuesta que devuelve su origen, es posible que termine almacenando en caché objetos duplicados.

## Clave de caché predeterminada
<a name="cache-key-default"></a>

De forma predeterminada, la clave de caché de una distribución de CloudFront incluye la siguiente información:
+ El nombre de dominio de la distribución de CloudFront (por ejemplo, d111111abcdef8.cloudfront.net)
+ La ruta URL del objeto solicitado (por ejemplo, `/content/stories/example-story.html`)

**nota**  
El método `OPTIONS` se incluye en la clave de caché para solicitudes `OPTIONS`. Esto significa que las respuestas a las solicitudes `OPTIONS` se almacenan en caché por separado de las respuestas a solicitudes `GET` y `HEAD`.

Otros valores de la solicitud del lector no se incluyen en la clave de caché, de forma predeterminada. Considere la siguiente solicitud HTTP desde un navegador 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/
```

Cuando una solicitud de lector como la de este ejemplo entra en una ubicación periférica de CloudFront, CloudFront usa la clave de caché para determinar si hay un acierto de caché. De forma predeterminada, solo los siguientes componentes de la solicitud se incluyen en la clave de caché: `/content/stories/example-story.html` y `d111111abcdef8.cloudfront.net`. Si el objeto solicitado no está en la caché (un error de caché), CloudFront envía una solicitud al origen para obtener el objeto. Después de obtener el objeto, CloudFront lo devuelve al lector y lo almacena en la caché de la ubicación de borde.

Cuando CloudFront recibe otra solicitud para el mismo objeto, según lo determinado por la clave de caché, CloudFront sirve el objeto almacenado en caché al lector inmediatamente, sin enviar una solicitud al origen. Por ejemplo, considere la siguiente solicitud HTTP que aparece después de la solicitud 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/
```

Esta solicitud es para el mismo objeto que la solicitud anterior, pero es diferente de la solicitud anterior. Tiene una cadena de consulta de URL diferente, encabezados `User-Agent` y `Referer` diferentes y una cookie de `session_id` diferente. Sin embargo, ninguno de estos valores forma parte de la clave de caché de forma predeterminada, por lo que esta segunda solicitud da como resultado un acierto de caché.

## Personalización de la clave de caché
<a name="cache-key-custom"></a>

En algunos casos, es posible que desee incluir más información en la clave de caché, aunque al hacerlo es posible que dé como resultado menos aciertos de la caché. Se especifica qué incluir en la clave de caché mediante una [política de caché](controlling-the-cache-key.md).

Por ejemplo, si el servidor de origen utiliza el encabezado HTTP `Accept-Language` en las solicitudes del lector para devolver contenido diferente en función del idioma del lector, es posible que desee incluir este encabezado en la clave de caché. Al hacerlo, CloudFront utiliza este encabezado para determinar los aciertos de caché e incluye el encabezado en *solicitudes de origen* (solicitudes que CloudFront envía al origen cuando hay un error de caché).

Una consecuencia potencial de incluir valores adicionales en la clave de caché es que es posible que CloudFront termine almacenando en caché objetos duplicados debido a la variación que puede ocurrir en las solicitudes del lector. Por ejemplo, es posible que los lectores puedan enviar cualquiera de los siguientes valores para el encabezado `Accept-Language`:
+ `en-US,en`
+ `en,en-US`
+ `en-US, en`
+ `en-US`

Todos estos valores diferentes indican que el idioma del lector es el inglés, pero la variación puede hacer que CloudFront almacene en caché el mismo objeto varias veces. Esto puede reducir los aciertos de caché y aumentar el número de solicitudes de origen. Se puede evitar esta duplicación si no se incluye el encabezado `Accept-Language` en la clave de caché y, en su lugar, se configura su sitio web o aplicación para utilizar diferentes URL para el contenido en diferentes idiomas (por ejemplo, `/en-US/content/stories/example-story.html`).

Para cualquier valor dado que se pretenda incluir en la clave de caché, se debe estar seguro de comprender cuántas variaciones diferentes de ese valor es posible que aparezcan en las solicitudes del lector. Para ciertos valores de solicitud, rara vez tiene sentido incluirlos en la clave de caché. Por ejemplo, el encabezado `User-Agent` puede tener miles de variaciones únicas, por lo que generalmente no es un buen candidato para incluirlo en la clave de caché. Las cookies que tienen valores específicos del usuario o específicos de la sesión y son únicas en miles (o incluso millones) de solicitudes tampoco son buenos candidatos para la inclusión de claves de caché. Si incluye estos valores en la clave de caché, cada variación única da como resultado otra copia del objeto en la caché. Si estas copias del objeto no son únicas o si termina con un número tan grande de objetos ligeramente diferentes que cada objeto solo obtiene un pequeño número de aciertos de caché, es posible que desee considerar un enfoque diferente. Puede excluir estos valores altamente variables de la clave de caché o puede marcar objetos como no almacenables en caché.

Tenga cuidado al personalizar la clave de caché. A veces es deseable, pero puede tener consecuencias no deseadas como almacenar en caché objetos duplicados, reducir la proporción de aciertos de caché y aumentar el número de solicitudes de origen. Si su sitio web o aplicación de origen necesita recibir ciertos valores de las solicitudes del lector para análisis, telemetría u otros usos, pero estos valores no cambian el objeto que devuelve el origen, utilice una [política de solicitud de origen](controlling-origin-requests.md) para incluir estos valores en las solicitudes de origen pero *no* incluirlos en la clave de caché.