Las reglas de expiración de la caché controlan cuánto tiempo se almacenan los recursos en los puntos de presencia (POP) de DCDN. Esto le permite equilibrar la actualización del contenido, el rendimiento de acceso y los costos de recuperación desde el origen. Este tema describe cómo funcionan las reglas de caché, cómo configurarlas y comprobarlas, y cómo solucionar problemas de almacenamiento en caché. También proporciona prácticas recomendadas para entornos de producción.
Notas de uso
-
Modifique el tiempo de caché después de agregar un nombre de dominio. La duración de la caché afecta el tráfico de retorno al origen y los costos. El tiempo de expiración de la caché influye en la frecuencia con la que se recupera contenido del origen. Establezca la duración de la caché de los recursos según sus necesidades comerciales.
Si el tiempo de expiración de la caché es demasiado corto, CDNDCDN recuperará datos del origen con frecuencia, lo que aumenta el tráfico del servidor de origen. Si el tiempo de expiración de la caché es demasiado largo, las actualizaciones de datos se retrasarán.
Un recurso almacenado en un POP de CDNDCDN al que se accede con poca frecuencia (es decir, los clientes no solicitan a menudo el recurso en ese mismo POP de CDNDCDN) podría sobrescribirse por otros recursos más populares del POP de CDNDCDN antes de que expire su caché.
Cuando un POP de DCDN recibe un archivo estático de un servidor de origen, almacena el recurso en caché según DCDN default cache rules and priority. Para obtener información sobre las reglas de caché de archivos dinámicos, consulte Overview of acceleration rules for dynamic and static content.
-
No actualice el contenido de su servidor de origen con el mismo nombre de archivo. En su lugar, utilice números de versión para la sincronización.
Para distinguir con precisión entre el contenido anterior y posterior a una actualización, sincronice el contenido de origen mediante números de versión. Esto implica usar nombres de archivo distintos cada vez que actualice el contenido. Por ejemplo, puede utilizar nombres como img-v1.0.jpg y img-v2.1.jpg.
Procedimiento
Inicie sesión en la consola de DCDN.
En el panel de navegación izquierdo, haga clic en Domain Names.
En la página Domain Names, busque el nombre de dominio de destino y haga clic en Configure.
En el árbol de navegación izquierdo del nombre de dominio, haga clic en Caching.
En la pestaña Cache Duration, haga clic en Add.
-
En el cuadro de diálogo Cache Duration, configure una regla de caché.

Parámetro
Descripción
Type
Especifique el alcance de los recursos por Directory o por Filename Extension.
-
Directory: establece la misma regla de caché para todos los recursos de una ruta específica.
-
Filename Extension: establece la misma regla de caché para los recursos de un tipo de archivo específico.
Content
El directorio o la extensión de archivo a la que se aplica la regla.
-
Si establece Type en Directory, tenga en cuenta lo siguiente:
-
Solo puede agregar un directorio a la vez. Una barra diagonal (/) coincide con todos los directorios.
-
Introduzca la ruta completa del directorio. La ruta debe comenzar con una barra diagonal (/). Ejemplo: /directory/aaa.
-
-
Si establece Type en Filename Extension, tenga en cuenta lo siguiente:
-
Puede introducir una o más extensiones de archivo. Separe varias extensiones con una coma (,), por ejemplo,
jpg,txt. La entrada distingue entre mayúsculas y minúsculas.Las extensiones de archivo no se limitan a los tipos de archivos estáticos comunes que se enumeran a continuación. Puede introducir cualquier extensión de archivo personalizada (por ejemplo,
bytesounity3d). El sistema reconoce y almacena en caché los recursos que coinciden con estas extensiones personalizadas.Tipos de archivos estáticos compatibles:
-
Imágenes: GIF, PNG, BMP, JPEG y JPG.
-
Páginas web: HTML, HTM y SHTML.
-
Archivos de audio y video: MP3, WMA, FLV, MP4, WMV, OGG y AVI.
-
Documentos: DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT y PDF.
-
Otros: ZIP, EXE, TAT, ICO, CSS, JS, SWF, APK, M3U8, TS, EJS, SVG, WOFF y OTF.
-
-
No puede usar un asterisco (*) para coincidir con todos los tipos de archivo.
-
Expire In
El TTL de caché de los recursos. La duración máxima es de 3 años. Se recomiendan las siguientes configuraciones:
-
Para archivos estáticos que no se actualizan con frecuencia, como imágenes y paquetes de aplicaciones, establezca el TTL en un mes o más.
-
Para archivos estáticos que se actualizan con frecuencia, como archivos JS y CSS, establezca un TTL personalizado según sus necesidades comerciales.
-
Para archivos dinámicos, como archivos PHP, JSP y ASP, establezca el TTL en 0 s para evitar que se almacenen en caché.
Honor origin cache policy
Si se habilita, los encabezados de política de caché del servidor de origen, como Cache-Control y Pragma, tienen prioridad.
Ignore origin no-cache header
Cuando esta función está habilitada, los POP de DCDN ignoran los siguientes encabezados de política de caché de la respuesta del servidor de origen. Estos encabezados indican que el contenido no debe almacenarse en caché.
-
Cache-Control: no-store
-
Cache-Control: no-cache
-
Cache-Control: max-age=0
-
Pragma: no-cache
Client follows DCDN cache policy
Cuando esta función está habilitada, los POP de DCDN responden al cliente con la política de caché efectiva.
Force revalidation
Este parámetro solo surte efecto cuando el TTL de caché se establece en 0. Los efectos son los siguientes:
-
Deshabilitado (predeterminado): cuando el TTL de caché de /DCDN se establece en 0, los POP de /DCDN no almacenan archivos en caché y se ejecuta una recuperación desde el origen para cada solicitud.
-
Habilitado: cuando el TTL de caché de DCDN se establece en 0, los archivos pueden almacenarse en caché en los POP de DCDN, y cada solicitud requiere una recuperación desde el origen para validar el contenido almacenado en caché.
Weight
La prioridad de la regla de caché. Los valores válidos son números enteros del 1 al 99. Un valor mayor indica una prioridad más alta. La regla con la prioridad más alta se aplica primero.
Nota-
Si configura varias reglas de caché, establezca un peso distinto para cada una con el fin de controlar su prioridad de ejecución.
-
Si varias reglas tienen el mismo peso, la que se creó primero tiene mayor prioridad, sin importar el tipo de regla.
-
Si se configuran varias políticas de caché, DCDN deja de evaluar las demás políticas en cuanto una de ellas surte efecto.
Rule condition
Una condición de regla identifica diversa información de parámetros en una solicitud de usuario. Esto determina si una configuración surte efecto para dicha solicitud.
ImportanteCuando hace referencia a condiciones de regla, estas se evalúan según la prioridad de las condiciones asociadas, no según el orden de configuración de la función en sí.
No usar: no utiliza ninguna condición de regla.
Para agregar o editar condiciones de regla, gestiónelas en Rules Engine.
-
-
Haga clic en OK para guardar la configuración.
Después de configurar correctamente una regla de caché, la encontrará en la lista de la pestaña Cache Duration. Haga clic en Modify o en Delete para gestionar la regla.
Reglas y prioridades de caché predeterminadas de CDNDCDN de Alibaba Cloud
Para las respuestas de origen con los códigos de estado HTTP 200, 203, 206, 300, 301, 308, or 410, el tiempo de expiración de la caché se determina mediante las siguientes reglas.
Cuando un POP de CDNDCDN recibe un recurso de archivo de un servidor de origen, aplica las reglas de caché en el siguiente orden de prioridad. Un número menor indica una prioridad más alta.
Si el servidor de origen responde con
pragma:no-cache,cache-control:no-cache(ono-store, omax-age=0), CDNDCDN no almacena el recurso en caché.-
El tiempo de expiración de la caché o el tiempo de expiración del código de estado establecido en la consola de CDNDCDN.
NotaSi una solicitud de CDNDCDN coincide con varias reglas, solo se aplica una. La prioridad se determina primero por el peso y luego por la fecha de creación.
Si tiene varias reglas de caché, establezca un peso distinto para cada una con el fin de controlar su prioridad de ejecución. Un peso mayor indica una prioridad más alta.
Para las reglas con el mismo peso, la que se creó primero tiene mayor prioridad, sin importar el tipo de regla.
-
Otras reglas de caché configuradas en el servidor de origen. La prioridad, de mayor a menor, es:
cache-control>expires>last-modified>ETag.Si el encabezado
cache-controlde la respuesta del servidor de origen especifica un valor demax-ageos-maxagemayor que 0, se usa el encabezadocache-controlpara establecer el tiempo de vida. Por ejemplo: cache-control:max-age=3600. Si están presentes tantomax-agecomos-maxage,s-maxagetiene prioridad.Si la respuesta de origen no contiene un encabezado
cache-controlpero sí un encabezadoExpires, el tiempo de expiración de la caché se determina mediante el encabezadoExpires. Por ejemplo: expires:Tue, 25 Nov 2031 17:25:43 GMT.Si la respuesta de origen no contiene
cache-controlniExpires, pero sílast-modified, el tiempo de caché se calcula con la fórmula: (Hora actual -last-modified) × 0.1. Si el resultado está entre 10 segundos y 3600 segundos, se utiliza dicho resultado. Si el resultado es menor que 10 segundos, el tiempo de caché es de 10 segundos. Si el resultado es mayor que 3600 segundos, el tiempo de caché es de 3600 segundos.Si la respuesta de origen no contiene
cache-control,Expiresnilast-modified, pero síETag, el recurso se almacena en caché durante 10 segundos.
Si los datos devueltos por el servidor de origen no contienen ninguno de los encabezados de respuesta relacionados con la caché (
cache-control,expires,last-modifiedoETag), el recurso no se almacena en caché de forma predeterminada.
Descripción de la información de respuesta de caché
-
Date:Indica la hora a la que el servidor de origen envió el recurso en una respuesta al POP de CDNDCDN.
Cuando el POP de CDNDCDN vuelve a validar el recurso con el servidor de origen e incluye el encabezado
If-Modified-SinceoIf-None-Matchen la solicitud de origen, la información de Date se actualiza si el servidor de origen devuelve un código de estado 304.El formato es la hora del meridiano de Greenwich (GMT); por ejemplo:
Sat, 19 Apr 2025 08:58:31 GMT.
-
X-Cache:Indica si el recurso solicitado se encontró en la caché del POP de CDNDCDN. En la siguiente tabla se describen los valores posibles.
Estado
Descripción
HITEl recurso solicitado se encontró en la caché del POP de CDNDCDN.
MISSEl recurso solicitado no se encontró en la caché del POP de CDNDCDN. El servidor de origen proporcionó el recurso.
-
X-Swift-Cachetime:Indica el tiempo de caché restante del recurso en el POP de CDNDCDN, en segundos.
X-Swift-Cachetime=Ali-Swift-Global-Savetime+ Tiempo de expiración de caché establecido para CDN -X-Swift-SaveTime.-
X-Swift-Cachetimeno siempre es igual al tiempo de expiración de caché establecido para CDNDCDN. Pueden presentarse las tres situaciones siguientes:X-Swift-Cachetime= Tiempo de expiración de caché establecido para CDNDCDN, por ejemplo, 3600 segundos.-
X-Swift-Cachetimees ligeramente menor que el tiempo de expiración de caché establecido para CDNDCDN. Por ejemplo, el tiempo de expiración de caché para CDNDCDN se establece en 300 segundos, peroX-Swift-Cachetimees de 295 segundos. Esto puede deberse a las siguientes razones:Se produce una latencia alta cuando un POP de capa 1 recupera datos de un POP de capa 2.
Los relojes de los POP de capa 1 y capa 2 no están sincronizados.
El valor de
X-Swift-Cachetimees negativo. Esto puede deberse a que se modificó el tiempo de expiración de caché para CDNDCDN. Cuando el cliente envía una solicitud, la caché del POP de capa 1 ya expiró, pero la del POP de capa 2 aún no. Por ejemplo, el tiempo de expiración de caché para CDNDCDN era originalmente de 3600 segundos y luego se cambió a 300 segundos. Si un cliente envía una solicitud 600 segundos después de la primera solicitud, el encabezado de respuesta esX-Swift-Cachetime:-300. Para resolver este problema, actualice la caché.
-
X-Swift-SaveTime:Indica la hora a la que el recurso se almacenó en caché por primera vez en el POP de CDNDCDN al que accedió directamente el cliente. Por lo general, se trata de un POP de capa 1.
El formato es la hora del meridiano de Greenwich (GMT); por ejemplo:
Sat, 19 Apr 2025 08:58:31 GMT.
-
Ali-Swift-Global-Savetime:Indica la hora a la que el recurso se almacenó en caché por primera vez en un POP de CDNDCDN. Puede tratarse de un POP de capa 2 o de un POP en otra capa de caché, según la arquitectura de caché del sitio.
El formato es una marca de tiempo UNIX; por ejemplo:
1745053111, que representa2025-04-19 16:58:31.
Comprobar el estado de caché de los recursos
Después de configurar un TTL de caché, utilice estos métodos para comprobar si un recurso se entrega desde la caché de DCDN.
-
Método 1: Usar el comando curl
En la terminal, ejecute el siguiente comando para solicitar la URL de destino mediante
curl -Iy compruebe el campoX-Cacheen el encabezado de respuesta para determinar si se encontró en la caché.curl -I http://<accelerated_domain_name>/<resource_path>En los encabezados de respuesta, compruebe el campo
X-Cache:X-Cache: HITindica que el recurso se entregó desde la caché de DCDN.X-Cache: MISSindica que el recurso no se encontró en la caché de DCDN y se entregó directamente desde el servidor de origen.
-
Método 2: Usar las herramientas de desarrollador del navegador
Utilice las herramientas de desarrollador de su navegador (F12). En la pestaña Network, acceda a la URL del recurso. Seleccione la solicitud y revise el encabezado
X-Cacheen la respuesta.
Mecanismos de control de caché HTTP
El protocolo HTTP define tres tipos de mecanismos de control de caché:
Ejemplos de configuración
Ejemplo 1: para almacenar en caché los archivos .txt durante 7 días, agregue una regla de caché en la consola de DCDN para la extensión de archivo .txt y establezca el TTL de caché en 7 días.

Ejemplo 2: se configuran las siguientes políticas de almacenamiento en caché para el nombre de dominio acelerado demo.aliyun.com. Cuando un POP de DCDN recupera el recurso http://demo.aliyun.com/image/example.png del origen, coinciden dos reglas. Como ambas reglas tienen el mismo peso, el sistema prioriza la que se creó primero. La regla del directorio /image se creó antes. Por lo tanto, la regla basada en directorio es la que surte efecto.