

# Agregación, eliminación o sustitución de contenido que distribuye CloudFront
<a name="AddRemoveReplaceObjects"></a>

En esta sección se explica cómo asegurarse de que CloudFront pueda acceder al contenido que desea distribuir a los lectores, cómo especificar los objetos en su sitio web o en su aplicación y cómo quitar o reemplazar contenido.

**Topics**
+ [Agregación de contenido que distribuye CloudFront y acceso al mismo](#AddingObjects)
+ [Uso del control de versiones de los archivos para actualizar o eliminar contenido con una distribución de CloudFront](UpdatingExistingObjects.md)
+ [Personalización del formato de URL para archivos en CloudFront](LinkFormat.md)
+ [Especificación de un objeto raíz predeterminado](DefaultRootObject.md)
+ [Invalidación de archivos para eliminar el contenido](Invalidation.md)
+ [Ofrecimiento de archivos comprimidos](ServingCompressedFiles.md)

## Agregación de contenido que distribuye CloudFront y acceso al mismo
<a name="AddingObjects"></a>

Si desea que CloudFront distribuya contenido (objetos), agregue archivos a uno de los orígenes que haya especificado para la distribución y exponga un enlace de CloudFront a los archivos. Una ubicación periférica de CloudFront no recupera los nuevos archivos desde un origen hasta que la ubicación periférica recibe solicitudes de lectores para ellos. Para obtener más información, consulte [Cómo CloudFront entrega el contenido](HowCloudFrontWorks.md). 

Cuando agrega un archivo que desee que CloudFront distribuya, asegúrese de agregarlo a uno de los buckets de Amazon S3 especificados en la distribución o, en el caso de un origen personalizado, a un directorio en el dominio especificado. Confirme también que el patrón de ruta en el comportamiento de la caché aplicable envía solicitudes al origen correcto. 

Por ejemplo, suponga que el patrón de una ruta de comportamiento de la caché es `*.html`. Si no dispone de ningún otro comportamiento de caché configurado para reenviar solicitudes a dicho origen, CloudFront solo reenviará archivos `*.html`. En este caso, por ejemplo, CloudFront nunca distribuirá archivos .jpg que carga al origen, ya que no ha creado un comportamiento de caché que incluya archivos .jpg.

Los servidores de CloudFront no determinan el tipo MIME de los objetos que distribuyen. Al cargar un archivo en su origen, le recomendamos que establezca el campo de encabezado `Content-Type` del mismo.

# Uso del control de versiones de los archivos para actualizar o eliminar contenido con una distribución de CloudFront
<a name="UpdatingExistingObjects"></a>

Para actualizar el contenido existente que CloudFront tiene configurado para distribuir por usted, le recomendamos que utilice un identificador de versión en los nombres de archivos o en los nombres de carpetas. Esto le permite controlar la administración del contenido que entrega CloudFront.

## Actualización de archivos existentes con versiones de nombres de archivos
<a name="ReplacingObjects"></a>

Al actualizar los archivos existentes en una distribución de CloudFront, le recomendamos incluir algún identificador de versión en sus nombres de archivo o de directorios para tener un mejor control de su contenido. Este identificador puede ser una marca temporal fecha-hora, un número en secuencia o algún otro método que permita distinguir dos versiones del mismo objeto. 

Por ejemplo, en lugar de denominar un archivo de imagen image.jpg, puede llamarlo image\$11.jpg. Cuando desee comenzar a ofrecer una nueva versión del archivo, deberá llamarlo image\$12.jpg y actualizar los enlaces en su sitio o aplicación web para que apunten a image\$12.jpg. De forma alternativa, puede colocar todos los gráficos en un directorio images\$1v1 y, cuando desee comenzar a distribuir nuevas versiones de uno o varios gráficos, crear un nuevo directorio images\$1v2 y actualizar los enlaces para apuntar a dicho directorio. Con el control de versiones, no es necesario esperar a que un objeto caduque antes de que CloudFront comience a ofrecer una nueva versión del mismo ni pagar por la invalidación de objetos.

Incluso si crea versiones de sus archivos, recomendamos que defina una fecha de vencimiento. Para obtener más información, consulte [Administración de cuánto tiempo se mantiene el contenido en una caché (vencimiento)](Expiration.md).

**nota**  
Especificar nombres de archivo o de directorios con versiones no está relacionado con el control de versiones de objetos de Amazon S3.

## Eliminación de contenido para que CloudFront no lo distribuya
<a name="RemovingObjects"></a>

Puede quitar archivos de su origen que ya no desee incluir en su distribución de CloudFront. Sin embargo, CloudFront seguirá mostrando a los lectores contenido desde la caché de borde hasta que los archivos caduquen. 

Si desea quitar un archivo de forma inmediata, debe realizar una de estas acciones:
+ **Utilizar el control de versiones de archivos.** Cuando se utiliza el control de versiones, las distintas versiones de un archivo tienen diferentes nombres que puede usar en su distribución de CloudFront, para cambiar el archivo que se devuelve a los lectores. Para obtener más información, consulte [Actualización de archivos existentes con versiones de nombres de archivos](#ReplacingObjects).
+ **Invalidar el archivo.** Para obtener más información, consulte [Invalidación de archivos para eliminar el contenido](Invalidation.md).

# Personalización del formato de URL para archivos en CloudFront
<a name="LinkFormat"></a>

Después de configurar el origen con los objetos (contenido) que desee que CloudFront distribuya a los lectores, debe utilizar las URL correctas para hacer referencia a dichos objetos en su sitio web o código de aplicación para que CloudFront puede distribuirlo.

El nombre de dominio que utiliza en las URL de los objetos en sus páginas web o en su aplicación web puede ser uno de los siguientes:
+ El nombre de dominio, como `d111111abcdef8.cloudfront.net`, que CloudFront asigna automáticamente al crear una distribución
+ Su propio nombre de dominio, como `example.com`

Por ejemplo, puede utilizar una de las siguientes URL para devolver el archivo `image.jpg`:

`https://d111111abcdef8.cloudfront.net/images/image.jpg`

`https://example.com/images/image.jpg`

Puede utilizar el mismo formato de URL si almacena el contenido en buckets de Amazon S3 o en un origen personalizado, como uno de sus servidores web.

**nota**  
El formato de URL depende en parte del valor que especifique para **Origin Path (Ruta de origen)** en su distribución. Este valor ofrece a CloudFront una ruta de directorio de nivel superior para sus objetos. Para obtener más información sobre la configuración de la ruta de origen al crear una distribución, consulte [Ruta de origen](DownloadDistValuesOrigin.md#DownloadDistValuesOriginPath).

Para obtener más información sobre los formatos de URL, consulte las siguientes secciones.

## Uso de su propio nombre de dominio (example.com)
<a name="LinkFormat_OwnDomain"></a>

En lugar de utilizar el nombre de dominio predeterminado que CloudFront le asigna al crear una distribución, puede [agregar un nombre de dominio alternativo](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCNAME) con el que sea más fácil trabajar, como `example.com`. Al configurar su propio nombre de dominio con CloudFront, puede utilizar una URL como esta para los objetos de su distribución:

`https://example.com/images/image.jpg`

Si tiene previsto utilizar HTTPS entre los lectores y CloudFront, consulte [Uso de nombres de dominio alternativos y HTTPS](using-https-alternate-domain-names.md).

## Uso de un delimitador final (/) en las URL
<a name="LinkFormat_TrailingSlash"></a>

Cuando especifique direcciones URL para los directorios de la distribución de CloudFront, elija si utilizará siempre una barra final o si nunca la utilizará. Por ejemplo, elija solo uno de los siguientes formatos para todas las direcciones URL:

`https://d111111abcdef8.cloudfront.net/images/`

`https://d111111abcdef8.cloudfront.net/images`

**Por qué importa?**

Ambos formatos son válidos para el enlace a objetos de CloudFront, pero el hecho de ser coherente puede ayudar a prevenir problemas cuando desea invalidar un directorio más tarde. CloudFront almacena las URL exactamente como se definen, incluidas las barras finales. Por tanto, si el formato es incoherente, tendrá que invalidar las URL de directorio con y sin la barra, para garantizar que CloudFront quite el directorio. 

Resulta incómodo tener que invalidar ambos formatos de URL y puede suponer costos adicionales. Esto se debe a que si hay que duplicar las invalidaciones para cubrir ambos tipos de URL, se podría exceder el número máximo de invalidaciones gratuitas permitidas durante el mes. Y si esto ocurre, tendrá que pagar por todas las invalidaciones, aunque solo exista en CloudFront un formato para cada URL de directorio.

## Creación de URL firmadas para contenido restringido
<a name="LinkFormat_SignedURLs"></a>

Si tiene contenido al que desea restringir el acceso, puede crear URL firmadas. Por ejemplo, si desea distribuir su contenido únicamente a los usuarios que se hayan autenticado, puede crear unas URL que solo sean válidas durante un periodo de tiempo indicado o que solo estén disponibles desde una dirección IP especificada. Para obtener más información, consulte [Distribución de contenido privado con URL firmadas y cookies firmadas](PrivateContent.md).

# Especificación de un objeto raíz predeterminado
<a name="DefaultRootObject"></a>

Puede configurar CloudFront para devolver un objeto específico (el objeto raíz predeterminado) cuando un usuario (espectador) solicita la URL raíz de su distribución en lugar de solicitar un objeto de su distribución. Puede usar un objeto raíz predeterminado para evitar la exposición del contenido de su distribución.

**Contents**
+ [Cómo especificar un objeto raíz predeterminado](#DefaultRootObjectHowToDefine)
+ [Cómo funciona el objeto raíz predeterminado](#DefaultRootObjectHow)
+ [Cómo funciona CloudFront si no define un objeto raíz](#DefaultRootObjectNotSet)

## Cómo especificar un objeto raíz predeterminado
<a name="DefaultRootObjectHowToDefine"></a>

Para evitar exponer el contenido de la distribución o devolver un error, especifique un objeto raíz predeterminado para la distribución. Puede especificar el nombre exacto del archivo o la ruta al archivo. Por ejemplo, si el objeto raíz es un archivo `index.html`, puede especificar el nombre de ese archivo. Si el archivo `index.html` está en otra carpeta, especifique la ruta en su lugar; por ejemplo, `exampleFolderName/index.html`. Si establece una ruta al objeto raíz predeterminado, las solicitudes de los espectadores a la URL raíz de la distribución devolverán el archivo especificado desde esa ruta. Puede usar una ruta de archivo para tener más flexibilidad a la hora de organizar el contenido en el origen, ya que el objeto raíz predeterminado puede estar en una carpeta en lugar de en el nivel raíz. <a name="DefaultRootObjectProcedure"></a>

**Especificar un objeto raíz predeterminado para su distribución**

1. Cargue el objeto raíz predeterminado al origen al que apunta su distribución.

   El archivo puede ser cualquier tipo admitido por CloudFront. Para obtener una lista de las limitaciones de los nombres de archivo, consulte el elemento `DefaultRootObject` en [DistributionConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DistributionConfig.html) de la *Referencia de la API de Amazon CloudFront*.
**nota**  
Si el nombre de archivo del objeto raíz predeterminado es demasiado largo o contiene caracteres no válidos, CloudFront devuelve el error `HTTP 400 Bad Request - InvalidDefaultRootObject`. Además, CloudFront almacena en caché el código durante 10 segundos (de forma predeterminada) y escribe los resultados en los registros de acceso.

1. Confirme que los permisos del objeto conceden a CloudFront al menos acceso de lectura.

   Para obtener más información acerca de los permisos de Amazon S3, consulte [Administración de la identidad y el acceso en Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) en la *Guía para usuarios de Amazon Simple Storage Service*.

1. Actualice la distribución para referirse al objeto raíz predeterminado mediante la consola de CloudFront o la API de CloudFront.

   Para especificar un objeto raíz predeterminado mediante la consola de CloudFront:

   1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

   1. En la lista de distribuciones que se encuentra en el panel superior, seleccione la distribución a actualizar.

   1. En el panel **Settings** (Configuración), en la pestaña **General**, elija **Edit** (Editar).

   1. En el cuadro de diálogo **Editar configuración**, en el campo **Objeto raíz predeterminado**, escriba el nombre de archivo del objeto raíz predeterminado.
**sugerencia**  
La cadena no puede comenzar con una barra diagonal (`/`). Especifique únicamente el nombre del objeto o la ruta al objeto. Por ejemplo, utilice `index.html` o `exampleFolderName/index.html`. Si se especifica `/exampleFolderName/index.html` o `/index.html`, se puede producir un [error 403 Acceso denegado](http-403-permission-denied.md). 

   1. Seleccione **Save changes (Guardar cambios)**.

   Para actualizar la configuración mediante la API de CloudFront, especifique un valor en el elemento `DefaultRootObject` de su distribución. Para obtener información sobre el uso de la API de CloudFront para especificar un objeto raíz predeterminado, consulte [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) en la *Referencia de la API de Amazon CloudFront*.

1. Realice una solicitud de su URL raíz para confirmar si el objeto raíz predeterminado está habilitado. Si el navegador no muestra el objeto raíz predeterminado, siga los pasos siguientes:

   1. Consulte el estado de su distribución en la consola de CloudFront para confirmar que está implementada por completo.

   1. Repita los pasos 2 y 3 para verificar que ha concedido los permisos pertinentes y que ha actualizado correctamente la configuración de la distribución para especificar el objeto raíz predeterminado.

## Cómo funciona el objeto raíz predeterminado
<a name="DefaultRootObjectHow"></a>

Suponga que la siguiente solicitud apunta al objeto `image.jpg`:

`https://d111111abcdef8.cloudfront.net/image.jpg`

Por el contrario, la siguiente solicitud apunta a la URL raíz de la misma distribución en lugar de a un objeto específico, como en el primer ejemplo:

`https://d111111abcdef8.cloudfront.net/`

Si define un objeto raíz predeterminado, cualquier solicitud de un usuario final que realice una llamada a la raíz de su distribución devolverá el objeto raíz predeterminado. Por ejemplo, si designa el archivo `index.html` como su objeto raíz predeterminado, una solicitud de:

`https://d111111abcdef8.cloudfront.net/`

Devuelve:

`https://d111111abcdef8.cloudfront.net/index.html`

**nota**  
CloudFront no determina si una URL con varias barras diagonales al final (`https://d111111abcdef8.cloudfront.net///`) es equivalente a `https://d111111abcdef8.cloudfront.net/`. Su servidor de origen hace esa comparación.

Si define un objeto raíz predeterminado, una solicitud de un usuario final que realice una llamada a un subdirectorio de su distribución no devolverá el objeto raíz predeterminado. Supongamos que `index.html` es su objeto raíz predeterminado y que CloudFront recibe una solicitud de parte de un usuario final, del directorio `install` que se encuentra en su distribución de CloudFront:

`https://d111111abcdef8.cloudfront.net/install/`

CloudFront no devuelve el objeto raíz predeterminado incluso si hay una copia de `index.html` en el directorio `install`. Sin embargo, si especificó una *ruta* al objeto raíz predeterminado, (`install/index.html`) CloudFront devolverá el objeto raíz predeterminado para las solicitudes de los usuarios finales al directorio `install`.

Si configura su distribución para permitir todos los métodos de HTTP que admite CloudFront, el objeto raíz predeterminado se aplicará a todos ellos. Por ejemplo, si su objeto raíz predeterminado es index.php y escribe su aplicación para enviar una solicitud `POST` a la raíz de su dominio (https://example.com), CloudFront envía la solicitud a https://example.com/index.php.

El comportamiento de los objetos raíz predeterminados de CloudFront es diferente del comportamiento de los documentos del índice de Amazon S3. Al configurar un bucket de Amazon S3 como un sitio web y especificar el documento de índice, Amazon S3 devuelve dicho documento incluso si un usuario solicita un subdirectorio del bucket. (Deberá aparecer una copia del documento de índice en cada subdirectorio). Para obtener más información sobre la configuración de buckets de Amazon S3 como sitios web y sobre documentos de índice, consulte el capítulo [Hosting de sitios web en Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html) de la *Guía del usuario de Amazon Simple Storage Service*.

**importante**  
Recuerde que un objeto raíz predeterminado es aplicable únicamente a su distribución de CloudFront. Aún tendrá que administrar la seguridad de su origen. Por ejemplo, si utiliza un origen de Amazon S3, deberá configurar las ACL de su bucket de Amazon S3 de forma tal que se asegure el nivel de acceso que desea en dicho bucket.

## Cómo funciona CloudFront si no define un objeto raíz
<a name="DefaultRootObjectNotSet"></a>

Si no define un objeto raíz predeterminado, las solicitudes de la raíz de su distribución pasarán a su servidor de origen. Si utiliza un origen de Amazon S3, es posible que se devuelva cualquiera de los siguientes elementos:
+ **Una lista del contenido de su bucket de Amazon S3**: cualquier persona que utilice CloudFront para obtener acceso a su distribución podrá ver el contenido de su origen si se cumple cualquiera de estas condiciones:
  + Si su bucket no está configurado correctamente. 
  + Si los permisos de Amazon S3 del bucket asociado a su distribución y de los objetos del bucket conceden acceso a *todo el mundo*.
  + Si un usuario final obtiene acceso a su origen mediante la URL raíz del origen. 
+ **Una lista del contenido privado de su origen**: si configura el origen como una distribución privada (solo usted y CloudFront tienen acceso), cualquiera que tenga las credenciales para obtener acceso a la distribución a través de CloudFront podrá ver el contenido del bucket de Amazon S3 asociado a su distribución. En este caso, los usuarios no podrán obtener acceso a su contenido a través de la URL raíz del origen. Para obtener más información acerca de la distribución de contenido privado, consulte [Distribución de contenido privado con URL firmadas y cookies firmadas](PrivateContent.md).
+ `Error 403 Forbidden`: CloudFront devuelve este error si los permisos del bucket de Amazon S3 asociado a la distribución o los permisos de los objetos de dicho bucket deniegan el acceso a CloudFront y a los demás usuarios.

# Invalidación de archivos para eliminar el contenido
<a name="Invalidation"></a>

Si necesita quitar un archivo de cachés de borde de CloudFront antes de que caduquen, puede elegir una de las siguientes alternativas:
+ Invalide el archivo de las cachés perimetrales. La vez siguiente que un lector solicita el archivo, CloudFront vuelve al origen para recuperar la última versión.
+ Utilice el control de versiones de archivos para ofrecer una versión diferente del archivo con un nombre distinto. Para obtener más información, consulte [Actualización de archivos existentes con versiones de nombres de archivos](UpdatingExistingObjects.md#ReplacingObjects).

**Topics**
+ [Elección entre invalidar archivos y utilizar nombres de archivo con versiones](#Invalidation_Expiration)
+ [Determinación de qué archivos invalidar](invalidation-access-logs.md)
+ [Qué se debe saber al invalidar archivos](invalidation-specifying-objects.md)
+ [Invalidación de archivos](Invalidation_Requests.md)
+ [Máximo de solicitud de invalidación simultánea](InvalidationLimits.md)
+ [Cargos por invalidación de archivo](PayingForInvalidation.md)

## Elección entre invalidar archivos y utilizar nombres de archivo con versiones
<a name="Invalidation_Expiration"></a>

Para controlar las versiones de los archivos que se distribuyen desde su distribución, puede invalidar archivos o asignarles nombres de archivo con versiones. Si desea actualizar sus archivos con frecuencia, le recomendamos utilizar principalmente el control de versiones de archivos por las siguientes razones:
+ El control de versiones le permite controlar qué archivo devuelve una solicitud incluso cuando el usuario tiene una versión almacenada en caché, ya sea localmente o tras un proxy de almacenamiento en caché de empresa. Si invalida el archivo, el usuario podría seguir viendo la versión antigua hasta que caduque en esas cachés.
+ Los registros de acceso de CloudFront incluyen los nombres de los archivos, así que el control de versiones facilita el análisis de los resultados de los cambios de archivos.
+ El control de versiones es una forma de ofrecer distintas versiones de archivos a diferentes usuarios.
+ El control de versiones simplifica la progresión y restauración de archivos entre revisiones.
+ El control de versiones es más económico. Todavía tendrá que pagar la transferencia que hace CloudFront de las nuevas versiones de los archivos a ubicaciones periférica, pero no tendrá que pagar por la invalidación de archivos. 

Para obtener más información acerca del control de versiones, consulte [Actualización de archivos existentes con versiones de nombres de archivos](UpdatingExistingObjects.md#ReplacingObjects).

# Determinación de qué archivos invalidar
<a name="invalidation-access-logs"></a>

Si desea invalidar varios archivos como, por ejemplo, todos los archivos de un directorio o todos los archivos que comienzan por los mismos caracteres, puede incluir el comodín `*` al final de la ruta de invalidación. Para obtener más información acerca de cómo utilizar el comodín `*`, consulte [Invalidation paths](invalidation-specifying-objects.md#invalidation-specifying-objects-paths).

Para invalidar archivos, puede especificar la ruta de archivos individuales o una ruta que termine en el comodín `*`, que puede ser aplicable a un archivo o a muchos, tal y como se muestra en los siguientes ejemplos:
+ `/images/image1.jpg`
+ `/images/image*`
+ `/images/*`

Si desea invalidar archivos seleccionados, pero los usuarios no necesariamente obtienen acceso a todos los del origen, puede determinar qué archivos de CloudFront han sido solicitados por lectores e invalidar solo esos. Para determinar qué archivos han solicitado los lectores, habilite el registro de acceso de CloudFront. Para obtener más información acerca de los registros de acceso, consulte [Registros de acceso (registros estándar)](AccessLogs.md).

# Qué se debe saber al invalidar archivos
<a name="invalidation-specifying-objects"></a>

Al especificar los archivos para invalidarlos, consulte la siguiente información:

**Es sensible a mayúsculas y minúsculas**  
En las rutas de invalidación se distingue entre mayúsculas y minúsculas. Por ejemplo, `/images/image.jpg` y `/images/Image.jpg` especifican dos archivos diferentes.

**Cambio del URI mediante una función de Lambda**  
Si su distribución de CloudFront activa una función de Lambda en eventos de solicitud del lector, y si la función cambia el URI del archivo solicitado, recomendamos que invalide ambos URI para quitar el archivo de las cachés de borde de CloudFront:  
+ El URI de la solicitud del espectador
+ El URI después de que la función lo cambiara

**Example Ejemplo**  
Suponga que su función de Lambda cambia el URI de un archivo de la siguiente manera:  
`https://d111111abcdef8.cloudfront.net/index.html`  
Por un URI que incluye un directorio de idioma:  
`https://d111111abcdef8.cloudfront.net/en/index.html`  
Para invalidar el archivo, debe especificar las siguientes rutas:  
+ `/index.html`
+ `/en/index.html`
Para obtener más información, consulte [Invalidation paths](#invalidation-specifying-objects-paths).

 **Objeto raíz predeterminado**  
Para invalidar el objeto raíz predeterminado (archivo), especifique la ruta del mismo modo que especifica la de cualquier otro archivo. Para obtener más información, consulte [Cómo funciona el objeto raíz predeterminado](DefaultRootObject.md#DefaultRootObjectHow).

 **Reenvío de cookies**  
Si configura CloudFront para reenviar cookies a su origen, las cachés de borde de CloudFront pueden contener varias versiones del archivo. Al invalidar un archivo, CloudFront invalida todas las versiones del archivo almacenado en caché independientemente de sus cookies asociadas. No se puede invalidar de manera selectiva algunas versiones y otras no en función de las cookies asociadas. Para obtener más información, consulte [Almacenamiento en caché de contenido en función de cookies](Cookies.md).

 **Reenvío de encabezados**  
Si configuró CloudFront para reenviar una lista de encabezados a su origen y para almacenar en caché en función de los valores de los encabezados, las cachés de borde de CloudFront podrían contener varias versiones del archivo. Al invalidar un archivo, CloudFront invalida todas las versiones del archivo almacenado en caché independientemente de los valores de los encabezados. No se puede invalidar de manera selectiva algunas versiones y otras no en función de los valores de los encabezados. (Si configura CloudFront para reenviar todos los encabezados a su origen, CloudFront no almacenará en caché los archivos). Para obtener más información, consulte [Almacenamiento en caché de contenido en función de encabezados de solicitud](header-caching.md).

 **Reenvío de cadenas de consulta**  
Si configura CloudFront para que reenvíe cadenas de consultas a su origen, deberá incluir las cadenas de consulta a la hora de invalidar archivos, tal y como se muestra en los siguientes ejemplos:  
+ `/images/image.jpg?parameter1=a`
+ `/images/image.jpg?parameter1=b`
Si los clientes incluyen cinco cadenas de consulta diferentes para el mismo archivo, puede invalidar el archivo cinco veces, una vez por cadena de consulta, o utilizar el comodín \$1 en la ruta, tal y como se muestra en el ejemplo siguiente:  
`/images/image.jpg*`  
Para obtener más información acerca del uso de comodines en la ruta de invalidación, consulte [Invalidation paths](#invalidation-specifying-objects-paths).   
Para obtener más información acerca de cadenas de consulta, consulte [Almacenamiento en caché de contenido en función de parámetros de cadenas de consulta](QueryStringParameters.md).   
Para determinar qué cadenas de consulta están en uso, puede habilitar el registro de CloudFront. Para obtener más información, consulte [Registros de acceso (registros estándar)](AccessLogs.md).

**Máximo permitido**  
Para obtener más información sobre el número máximo de invalidaciones permitidas, consulte [Máximo de solicitud de invalidación simultánea](InvalidationLimits.md).

 **Microsoft Smooth Streaming files**  
No es posible invalidar archivos multimedia en el formato de Microsoft Smooth Streaming si se ha activado Smooth Streaming para el comportamiento de la caché correspondiente. 

 **Caracteres no ASCII o no seguros en la ruta**  
Si la ruta incluye caracteres no ASCII o no seguros, tal y como se define en [RFC 1738](https://tools.ietf.org/html/rfc1738), codifique los caracteres como URL. No codifique como URL otros caracteres de la ruta, o CloudFront no invalidará la versión antigua del archivo actualizado.  
No utilice el carácter `~` en la ruta. CloudFront no admite este carácter para las invalidaciones, ya sea codificado mediante URL o no.

 **Rutas de invalidación**  
La ruta es relativa a la distribución. Por ejemplo, para invalidar el archivo en `https://d111111abcdef8.cloudfront.net/images/image2.jpg`, especifique `/images/image2.jpg`.  
En la [consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home), puede omitir la barra diagonal inicial en la ruta, así: `images/image2.jpg`. Cuando se utiliza la API de CloudFront directamente, las rutas de invalidación deben comenzar con una barra diagonal a la izquierda.
También puede invalidar varios archivos simultáneamente mediante el comodín `*`. El `*`, que sustituye a 0 o más caracteres, debe ser el último carácter de la ruta de invalidación.   
Para utilizar comodines (\$1) en la invalidación, debe poner el comodín al final de la ruta. Los asteriscos (\$1) insertados en cualquier otro lugar se tratan como una coincidencia literal de caracteres en lugar de una invalidación de comodines.
Si utiliza la AWS Command Line Interface (AWS CLI) para la invalidación de archivos y especifica una ruta que incluya el comodín `*`, debe utilizar comillas (`"`) para delimitar la ruta de la siguiente manera: `"/*"`.  
La longitud máxima de una ruta es 4 000 caracteres.  

**Example Ejemplo: Rutas de invalidación**  
+ Para invalidar todos los archivos de un directorio:

  `/`*ruta-directorio*`/*`
+ Para invalidar un directorio, todos sus subdirectorios y todos los archivos en el directorio y subdirectorios:

  `/`*ruta-directorio*`*`
+ Para invalidar todos los archivos que tienen el mismo nombre, pero diferentes extensiones, como logo.jpg, logo.png y logo.gif:

  `/`*ruta-directorio*`/`*nombre-archivo*`.*`
+ Para invalidar todos los archivos de un directorio cuyos nombres comienzan por los mismos caracteres (como, por ejemplo, todos los archivos de video en formato HLS), independientemente de la extensión del nombre del archivo:

  `/`*ruta-directorio*`/`*primeros-caracteres-nombre-archivo*`*`
+ Si ha configurado CloudFront para almacenar en caché en función de los parámetros de cadenas de consulta y desea invalidar todas las versiones de un archivo:

  `/`*ruta-directorio*`/`*nombre-archivo*`.`*extensión-nombre-archivo*`*`
+ Para invalidar todos los archivos de una distribución:

  `/*`
Para obtener información sobre la invalidación de archivos si utiliza una función de Lambda para cambiar el URI, consulte [Changing the URI Using a Lambda Function](#invalidation-lambda-at-edge).  
Si la ruta de invalidación es un directorio y no ha estandarizado un método para especificar directorios (con o sin barra inclinada, /, al final), le recomendamos invalidar el directorio con y sin barra inclinada al final, por ejemplo, `/images` y `/images/`.

**URL firmadas**  
Si utiliza URL firmadas, invalide un archivo incluyendo solo la parte de la URL anterior al signo de interrogación (?). 

# Invalidación de archivos
<a name="Invalidation_Requests"></a>

Puede utilizar la consola de CloudFront para crear y ejecutar una invalidación, mostrar una lista de las invalidaciones que ha enviado anteriormente y mostrar información detallada acerca de invalidaciones individuales. También puede copiar una invalidación existente, editar la lista de las rutas de archivos y ejecutar la invalidación editada. No puede eliminar las invalidaciones de la lista.

**Contents**
+ [Invalidación de archivos](#invalidating-objects-console)
+ [Copia, edición y nueva ejecución de una invalidación existente](#invalidating-objects-copy-console)
+ [Cancelación de invalidaciones](#canceling-invalidations)
+ [Enumeración de invalidaciones](#listing-invalidations-console)
+ [Visualización de información acerca de una invalidación](#invalidation-details-console)

## Invalidación de archivos
<a name="invalidating-objects-console"></a>

Para invalidar archivos mediante la consola de CloudFront, haga lo siguiente.

------
#### [ Console ]<a name="invalidating-objects-console-procedure"></a>

**Invalidación de archivos (consola)**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Elija la distribución cuyos archivos desea invalidar.

1. Elija la pestaña **Invalidations (Invalidaciones)**.

1. Elija **Crear invalidación**.

1. Escriba una ruta de invalidación de cada archivo que desea invalidar por línea. Para obtener más información acerca de cómo especificar rutas de invalidación, consulte [Qué se debe saber al invalidar archivos](invalidation-specifying-objects.md). 
**importante**  
Especifique las rutas de archivos cuidadosamente. Las solicitudes de invalidación no se pueden cancelar una vez comenzadas.

1. Elija **Crear invalidación**.

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

Para obtener más información acerca de la invalidación de objetos y mostrar información acerca de invalidaciones, consulte los siguientes temas en la *Referencia de la API de Amazon CloudFront*:
+ [CreateInvalidation](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateInvalidation.html) 
+ [ListInvalidations](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListInvalidations.html)
+ [GetInvalidation](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetInvalidation.html)

**nota**  
Si utiliza la AWS Command Line Interface (AWS CLI) para la invalidación de archivos y especifica una ruta que incluya el comodín `*`, debe utilizar comillas (`"`) para delimitar la ruta, como en el siguiente ejemplo:   

```
aws cloudfront create-invalidation --distribution-id distribution_ID --paths "/*"
```

------

## Copia, edición y nueva ejecución de una invalidación existente
<a name="invalidating-objects-copy-console"></a>

Puede copiar invalidaciones que haya creado anteriormente, actualizar la lista de rutas de invalidación y ejecutar las invalidaciones actualizadas. No es posible copiar invalidaciones existentes, actualizar rutas de invalidación ni guardar invalidaciones actualizadas a continuación sin ejecutarlas.

**importante**  
Si copia una invalidación que sigue en curso, actualiza la lista de rutas de anulación y, a continuación, ejecuta la invalidación actualizada, CloudFront no detiene ni elimina la invalidación que ha copiado. Si aparece cualquier ruta de invalidación en el original y en la copia, CloudFront intentará invalidar los archivos dos veces, y ambas invalidaciones se contabilizarán como parte de la cantidad máxima de invalidaciones gratuitas del mes. Si ya se ha alcanzado la cantidad máxima de invalidaciones gratuitas, se le facturarán las invalidaciones de ambos archivos. Para obtener más información, consulte [Máximo de solicitud de invalidación simultánea](InvalidationLimits.md).<a name="invalidating-objects-copy-console-procedure"></a>

**Para copiar, editar y volver a ejecutar una invalidación existente**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Elija la distribución que contiene la invalidación que desea copiar.

1. Elija la pestaña **Invalidaciones**.

1. Elija la invalidación que desea copiar.

   Si no está seguro de qué invalidación desea copiar, puede elegir una invalidación y elegir **Ver detalles** para mostrar información detallada sobre ella.

1. Seleccione **Copiar en uno nuevo**.

1. Actualice la lista de rutas de invalidación si procede.

1. Elija **Crear invalidación**.

## Cancelación de invalidaciones
<a name="canceling-invalidations"></a>

Al enviar una solicitud de invalidación a CloudFront, CloudFront reenvía la solicitud a todas las ubicaciones periférica al cabo de unos segundos, y cada ubicación periférica comienza a procesar la invalidación de forma inmediata. Por consiguiente, no puede cancelar una invalidación después de enviarla.

## Enumeración de invalidaciones
<a name="listing-invalidations-console"></a>

Puede mostrar una lista de las 100 últimas invalidaciones que ha creado y ejecutado para una distribución utilizando la consola de CloudFront. Si desea obtener una lista de más de 100 invalidaciones, utilice la operación de la API `ListInvalidations`. Para obtener más información, consulte [ListInvalidations](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListInvalidations.html) en la *Referencia de la API de Amazon CloudFront*.<a name="listing-invalidations-console-procedure"></a>

**Para mostrar una lista de invalidaciones**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Elija la distribución cuyas invalidaciones desee mostrar en una lista.

1. Elija la pestaña **Invalidations (Invalidaciones)**.

**nota**  
No puede eliminar las invalidaciones de la lista.

## Visualización de información acerca de una invalidación
<a name="invalidation-details-console"></a>

Visualice información detallada sobre cualquier invalidación, incluidos ID de distribución y de invalidación, estado de la invalidación, la fecha y la hora de creación de la invalidación y una lista completa de las rutas de invalidación. <a name="invalidation-details-console-procedure"></a>

**Para mostrar información acerca de una invalidación**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Elija la distribución que contenga la invalidación de la que desea mostrar información detallada.

1. Elija la pestaña **Invalidaciones**.

1. Elija el ID de invalidación correspondiente o seleccione el ID de invalidación y, a continuación, seleccione **Ver detalles**.

# Máximo de solicitud de invalidación simultánea
<a name="InvalidationLimits"></a>

Si está invalidando archivos uno a uno, podría haber solicitudes de invalidación de hasta 3000 archivos por distribución en ejecución simultáneamente. Podría tratarse de una sola solicitud de invalidación para hasta 3000 archivos, hasta 3000 solicitudes de un archivo cada una o cualquier otra combinación que no supere 3000 archivos. Por ejemplo, puede enviar 30 solicitudes de invalidación para 100 archivos cada una. Mientras las 30 solicitudes de invalidación estén realizándose, no se pueden enviar más solicitudes de invalidación. Si supera el máximo, CloudFront devuelve un mensaje de error.

Si está utilizando el comodín \$1, puede tener solicitudes de hasta 15 patrones de invalidación ejecutándose simultáneamente. También puede tener solicitudes de invalidación de hasta 3000 archivos individuales por distribución ejecutándose simultáneamente; el máximo permitido de solicitudes de invalidación con comodines es independiente del máximo de invalidación de archivos individuales.

# Cargos por invalidación de archivo
<a name="PayingForInvalidation"></a>

Las primeras 1 000 rutas de invalidación que envíe al mes son gratis; cada ruta de invalidación adicional a las 1 000 mensuales genera cargos. Una ruta de invalidación puede ser aplicable a un único archivo (por ejemplo, `/images/logo.jpg`) o a varios archivos (como, por ejemplo, `/images/*`). Cualquier ruta que incluya el comodín `*` cuenta como una ruta incluso si hace que CloudFront invalide miles de archivos.

Este máximo de 1000 rutas de invalidación gratuitas al mes se aplica al número total de rutas de invalidación de todas las distribuciones que haya creado con una Cuenta de AWS. Por ejemplo, si utiliza la Cuenta de AWS `john@example.com` para crear tres distribuciones y envía 600 rutas de invalidación para *cada distribución* en un mes determinado (para un total de 1800 rutas de invalidación), AWS le cobrará la diferencia entre el total de rutas de invalidación y el límite gratuito de 1000. En este ejemplo, AWS le cobraría 800 rutas de invalidación en ese mes.

El cargo por enviar una ruta de invalidación es la misma independientemente de la cantidad de archivos que invalide: un único archivo (`/images/logo.jpg`) o todos los archivos asociados a una distribución (`/*`). Dado que se le cobra por ruta en la solicitud de invalidación, incluso si agrupa varias rutas en una sola solicitud, cada ruta se sigue contando de forma individual a efectos de facturación. 

Para obtener más información acerca de los precios de invalidación, consulte [Precios de Amazon CloudFront](https://aws.amazon.com/cloudfront/pricing/). Para obtener más información acerca de rutas de invalidación, consulte [Invalidation paths](invalidation-specifying-objects.md#invalidation-specifying-objects-paths).

# Ofrecimiento de archivos comprimidos
<a name="ServingCompressedFiles"></a>

Al comprimir los objetos solicitados, las descargas son más rápidas, ya que los objetos son más pequeños: en algunos casos, menos de una cuarta parte del original. Las descargas más rápidas pueden resultar en páginas web que se muestran más rápido a los lectores, especialmente para archivos de JavaScript y CSS. Además, el costo de transferencia de datos de CloudFront se basa en la cantidad total de datos ofrecidos. Ofrecer objetos comprimidos puede resultar menos costoso que ofrecerlos sin comprimir.

**Topics**
+ [Configuración de CloudFront para comprimir objetos](#compressed-content-cloudfront-configuring)
+ [Cómo funciona la compresión de CloudFront](#compressed-content-cloudfront-how-it-works)
+ [Condiciones para la compresión](#compressed-content-cloudfront-notes)
+ [Tipos de archivos que CloudFront comprime](#compressed-content-cloudfront-file-types)
+ [`ETag`Conversión de encabezado](#compressed-content-cloudfront-etag-header)

## Configuración de CloudFront para comprimir objetos
<a name="compressed-content-cloudfront-configuring"></a>

Si quiere configurar CloudFront para comprimir objetos, actualice el comportamiento de la caché al que desea ofrecer objetos comprimidos.

**Configuración de CloudFront para comprimir objetos (consola)**

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

1. Elija la distribución y, a continuación, elija el **Comportamiento** que desee editar.

1. En la configuración de **Comprimir objetos automáticamente**, elija **Sí**. 

1. Utilice una [política de caché](controlling-the-cache-key.md) para especificar la configuración de almacenamiento en caché y habilite los formatos de compresión **Gzip** y **Brotli**.

**Notas**  
Debe usar [políticas de caché](controlling-the-cache-key.md) para usar la compresión Brotli. Brotli no admite la configuración de caché heredada.
Para habilitar la compresión mediante [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html) o la API de [CloudFront](https://docs.aws.amazon.com/cloudfront/latest/APIReference/Welcome.html), establezca los parámetros `Compress`, `EnableAcceptEncodingGzip`, `EnableAcceptEncodingBrotli` en `true`.

Para entender cómo CloudFront comprime los objetos, consulte la siguiente sección.

## Cómo funciona la compresión de CloudFront
<a name="compressed-content-cloudfront-how-it-works"></a>

1. Un espectador solicita un objeto. El lector incluye el encabezado HTTP `Accept-Encoding` en la solicitud, y los valores de encabezado incluyen `gzip`, `br` o ambos. Esto indica que el lector admite objetos comprimidos. Cuando el lector admite Gzip y Brotli, CloudFront usa Brotli.
**nota**  
Los navegadores web Chrome y Firefox admiten compresión Brotli solo cuando la solicitud se envía mediante HTTPS. No admiten Brotli con solicitudes HTTP.

1. En la ubicación de borde, CloudFront verifica la caché en busca de una versión comprimida del objeto solicitado.

1. En función de si el objeto comprimido está en la caché o no, CloudFront realiza una de las siguientes acciones:
   + Si el objeto comprimido ya está en la caché, CloudFront envía el objeto al lector y omite los demás pasos.
   + Si el objeto comprimido no se encuentra en la caché, CloudFront reenvía la solicitud al origen.
**nota**  
Si una copia sin comprimir del objeto ya está en la caché, CloudFront podría enviarla al lector sin reenviar la solicitud al origen. Por ejemplo, esto puede ocurrir cuando CloudFront [omitió previamente la compresión](#compression-skipped). Cuando esto sucede, CloudFront almacena en caché el objeto sin comprimir y continúa atendiéndolo hasta que el objeto se vence, desaloja o invalida.

1. Si el origen devuelve un objeto comprimido (como indica la presencia del lector de `Content-Encoding` en la respuesta HTTP), CloudFront envía el objeto comprimido al lector, lo agrega a la caché y omite los demás pasos. CloudFront no comprime de nuevo el objeto.

1. Si el origen devuelve un objeto sin comprimir a CloudFront sin el encabezado `Content-Encoding` en la respuesta HTTP, CloudFront determina si el objeto se puede comprimir. Para obtener más información, consulte [Condiciones para la compresión](#compressed-content-cloudfront-notes).

1. Si el objeto se puede comprimir, CloudFront lo comprime, lo envía al lector y lo agrega a la caché. 

1. Si hay solicitudes de lector posteriores para el mismo objeto, CloudFront devuelve la primera versión almacenada en caché. Por ejemplo, si un lector solicita un objeto en caché específico que utiliza la compresión Gzip y el lector *acepta* el formato Gzip, las solicitudes posteriores al mismo objeto devolverán siempre la versión Gzip, aunque el lector acepte Brotli y Gzip.

Algunos orígenes personalizados también pueden comprimir objetos. Es posible que el origen pueda comprimir objetos que CloudFront no comprime. Para obtener más información, consulte [Tipos de archivos que CloudFront comprime](#compressed-content-cloudfront-file-types).

## Condiciones para la compresión
<a name="compressed-content-cloudfront-notes"></a>

En la siguiente lista se ofrece más información sobre los casos en los que CloudFront no comprime objetos.

**La solicitud utiliza HTTP 1.0**  
Si una solicitud a CloudFront utiliza HTTP 1.0, CloudFront elimina el encabezado `Accept-Encoding` y no comprime el objeto en la respuesta.

**`Accept-Encoding`Encabezado de solicitud **  
Si el encabezado `Accept-Encoding` no se encuentra en la solicitud de lector o si no contiene `gzip` o `br` como valor, CloudFront no comprime el objeto en la respuesta. Si el encabezado `Accept-Encoding` incluye valores adicionales como `deflate`, CloudFront los elimina antes de reenviar la solicitud al servidor de origen.  
Cuando CloudFront se [configura para comprimir objetos](#compressed-content-cloudfront-configuring), incluye el encabezado `Accept-Encoding` en la clave de caché y en las solicitudes de origen de forma automática.

**El contenido ya está almacenado en caché al configurar CloudFront para comprimir objetos**  
CloudFront comprime los objetos cuando los obtiene del origen. Al configurar CloudFront para comprimir objetos, CloudFront no comprime los objetos que ya se han almacenado en caché en ubicaciones de borde. Además, cuando un objeto se vence en una ubicación periférica y CloudFront envía otra solicitud del objeto al origen, CloudFront no comprime el objeto si el origen devuelve un código de estado HTTP 304. Esto significa que la ubicación periférica ya tiene la versión más reciente del objeto. Si desea que CloudFront comprima los objetos que ya se han almacenado en ubicaciones de borde, tiene que invalidar esos objetos. Para obtener más información, consulte [Invalidación de archivos para eliminar el contenido](Invalidation.md).

**El origen ya está configurado para comprimir objetos**  
Si configura CloudFront para comprimir objetos y el origen también comprime objetos, el origen debe incluir un encabezado `Content-Encoding`. Este encabezado indica a CloudFront que el objeto ya está comprimido. CloudFront no comprime un objeto si la respuesta incluye un encabezado `Content-Encoding`, independientemente del valor del encabezado. CloudFront envía la respuesta al lector y almacena en caché el objeto en la ubicación de borde.

**Tipos de archivos que CloudFront comprime**  
Para ver una lista completa, consulte [Tipos de archivos que CloudFront comprime](#compressed-content-cloudfront-file-types).

**Tamaño de los objetos que comprime CloudFront**  
CloudFront comprime objetos con tamaños entre 1000 y 10 000 000 bytes.

**`Content-Length`Encabezado **  
El origen debe incluir un encabezado `Content-Length` en la respuesta para que CloudFront lo use a fin de determinar si el tamaño del objeto se encuentra en el rango que comprime. Si falta el encabezado `Content-Length`, contiene un valor no válido o uno fuera del rango de tamaños que CloudFront comprime, CloudFront no comprime el objeto. Para obtener más información sobre cómo CloudFront procesa los objetos grandes que pueden superar el rango de tamaño, consulte [Cómo CloudFront procesa las solicitudes parciales de un objeto (rango GET)](RangeGETs.md).

**Código de estado HTTP de la respuesta.**  
CloudFront comprime los objetos solo cuando el código de estado HTTP de la respuesta es `200`, `403` o `404`.

**La respuesta no tiene cuerpo**  
Cuando la respuesta HTTP del origen no tiene cuerpo, no hay nada para que CloudFront comprima.

**`ETag`Encabezado **  
CloudFront a veces modifica el encabezado `ETag` en la respuesta HTTP cuando comprime objetos. Para obtener más información, consulte [`ETag`Conversión de encabezado](#compressed-content-cloudfront-etag-header).

**CloudFront omite la compresión**  
CloudFront comprime los objetos sobre la base del mejor esfuerzo. En raras ocasiones, CloudFront omite la compresión de un objeto cuando experimenta una gran carga de tráfico. CloudFront toma esta decisión basándose en una serie de factores, como la capacidad del host. Si CloudFront omite la compresión de un objeto, almacena en caché el objeto sin comprimir y continúa atendiéndolo hasta que el objeto se vence, expulsa o invalida.

## Tipos de archivos que CloudFront comprime
<a name="compressed-content-cloudfront-file-types"></a>

Si configura CloudFront para comprimir objetos, CloudFront comprime solo los objetos que tienen uno de los siguientes valores en el encabezado de respuesta `Content-Type`:
+ `application/dash+xml`
+ `application/eot`
+ `application/font`
+ `application/font-sfnt`
+ `application/javascript`
+ `application/json`
+ `application/opentype`
+ `application/otf`
+ `application/pdf`
+ `application/pkcs7-mime`
+ `application/protobuf`
+ `application/rss+xml`
+ `application/truetype`
+ `application/ttf`
+ `application/vnd.apple.mpegurl`
+ `application/vnd.mapbox-vector-tile`
+ `application/vnd.ms-fontobject`
+ `application/wasm`
+ `application/xhtml+xml`
+ `application/xml`
+ `application/x-font-opentype`
+ `application/x-font-truetype`
+ `application/x-font-ttf`
+ `application/x-httpd-cgi`
+ `application/x-javascript`
+ `application/x-mpegurl`
+ `application/x-opentype`
+ `application/x-otf`
+ `application/x-perl`
+ `application/x-ttf`
+ `font/eot`
+ `font/opentype`
+ `font/otf`
+ `font/ttf`
+ `image/svg+xml`
+ `text/css`
+ `text/csv`
+ `text/html`
+ `text/javascript`
+ `text/js`
+ `text/plain`
+ `text/richtext`
+ `text/tab-separated-values`
+ `text/xml`
+ `text/x-component`
+ `text/x-java-source`
+ `text/x-script`
+ `vnd.apple.mpegurl`

## `ETag`Conversión de encabezado
<a name="compressed-content-cloudfront-etag-header"></a>

Cuando el objeto sin comprimir del origen incluye un encabezado HTTP `ETag` válido y seguro, y CloudFront comprime el objeto, CloudFront también convierte el valor de encabezado `ETag` fuerte en uno `ETag` débil y devuelve el valor `ETag` débil al lector. Los lectores pueden almacenar el valor `ETag` débil y utilizarlo para enviar solicitudes condicionales con el encabezado HTTP `If-None-Match`. Esto permite a los lectores, a CloudFront y al origen tratar las versiones comprimidas y no comprimidas de un objeto como semánticamente equivalentes, lo que reduce la transferencia de datos innecesaria.

Un valor de encabezado `ETag` válido y fuerte comienza y termina con un carácter de comillas dobles (`"`). Para convertir el valor `ETag` fuerte en uno débil, CloudFront agrega los caracteres `W/` al principio del valor `ETag` fuerte.

Cuando el objeto del origen incluye un valor de encabezado `ETag` débil (un valor que comienza con los caracteres `W/`), CloudFront no modifica este valor y lo devuelve al lector tal como se ha recibido del origen.

Cuando el objeto del origen incluye un valor de encabezado `ETag` no válido (el valor no comienza por `"` ni por `W/`), CloudFront elimina el encabezado `ETag` y devuelve el objeto al lector sin el encabezado de respuesta `ETag`.

Para obtener más información, consulte las páginas siguientes en los documentos web de MDN:
+ [Directivas](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag#Directives) (encabezado HTTP `ETag`)
+ [Validación débil](https://developer.mozilla.org/en-US/docs/Web/HTTP/Conditional_requests#Weak_validation) (solicitudes condicionales HTTP)
+ [If-None-Match Encabezado HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match)