Las claves de caché personalizadas le permiten generar claves de caché a partir de distintas partes de una solicitud HTTP, como el URI, los parámetros de consulta, los encabezados HTTP o las variables personalizadas. Al asignar solicitudes similares para un mismo archivo a una sola clave de caché, mejora la tasa de aciertos de la caché, reduce las recuperaciones en el origen y disminuye los tiempos de respuesta y el consumo de ancho de banda.
Notas de uso
Clave de caché personalizada e Ignore Parameters
La función Parameter Actions de una clave de caché personalizada y la función Ignore Parameters controlan cómo se procesan los parámetros de consulta de la URL al generar las claves de caché. Si configura ambas funciones al mismo tiempo, Ignore Parameters dejará de surtir efecto porque la configuración de clave de caché personalizada a nivel de regla anula la configuración global de Ignore Parameters.
Si utiliza operaciones de parámetros para las claves de caché personalizadas, deshabilite la función Ignore Parameters para evitar conflictos entre reglas. Las operaciones de parámetros incluyen la funcionalidad de Ignore Parameters (mediante las operaciones Delete o Reserve) y ofrecen un control de parámetros más flexible.
Si utiliza la función Ignore Parameters, consulte la siguiente tabla para decidir si debe cambiar a las operaciones de parámetros de las claves de caché personalizadas.
Escenario | Ignore Parameters | Clave de caché personalizada |
Ignorar todos los parámetros de consulta en la clave de caché | Establezca Ignore Parameters en Sí y deje vacío Keep specified parameters. | Agregue una regla de procesamiento para query parameters:
|
Conservar solo el parámetro de consulta | Establezca Ignore Parameters en Sí y defina Keep specified parameters como | Agregue una regla de procesamiento para query parameters:
|
Eliminar solo el parámetro de consulta | Establezca Delete specified parameters en | Agregue una regla de procesamiento para query parameters:
|
Si necesita modificar valores de parámetros o agregar parámetros adicionales, además de ignorarlos o conservarlos, utilice las operaciones de parámetros de las claves de caché personalizadas en lugar de la función Ignore Parameters.
Orden de ejecución del motor de reglas
Cuando esta función hace referencia a una condición de regla (Rule Condition) del motor de reglas, el orden de ejecución depende de la prioridad de dicha condición en el motor de reglas, y no de la prioridad de las reglas configuradas dentro de esta función.
Actualización de la caché
Después de configurar una clave de caché personalizada, los PoP de DCDN indexan los archivos almacenados en caché mediante la clave procesada. Cuando actualice la caché por URL, envíe la URL que coincida con la clave de caché registrada en los PoP de DCDN. De lo contrario, la operación de actualización no encontrará el contenido de destino.
Por ejemplo, si configura una regla de reemplazo de URI para sustituir /a/b/image.jpg por /c/image.jpg, la clave de caché del archivo en los PoP de DCDN será http://aliyundoc.com/c/image.jpg. Para actualizar la caché de este archivo, debe enviar http://aliyundoc.com/c/image.jpg (la clave de caché procesada), y no la URL original de la solicitud del cliente.
Si configura operaciones de parámetros, como eliminarlos o modificarlos, utilice la URL procesada como dirección de actualización. Registre el formato final de la clave de caché después de configurar las reglas de clave de caché personalizada; esto simplificará las futuras operaciones de actualización de la caché.
Reescritura de la URL de origen
La función de clave de caché personalizada solo afecta la forma en que se generan las claves de caché en los PoP de DCDN. No modifica la URL real que se utiliza para recuperar contenido del origen. Cuando un PoP de DCDN recupera contenido del origen, usa la URL original de la solicitud del cliente. Para reescribir los parámetros o la ruta de la solicitud enviada al origen, utilice la función de reescritura de URL de origen.
Por ejemplo, un cliente solicita http://example.com/image.jpg?key1=1&key2=2. Usted configura una clave de caché personalizada para eliminar el parámetro key1. La clave de caché resultante es http://example.com/image.jpg?key2=2. Sin embargo, cuando el PoP de DCDN recupera contenido del origen, sigue solicitando la URL original: http://example.com/image.jpg?key1=1&key2=2.
Casos de uso
La función de clave de caché personalizada no modifica la URL utilizada para recuperar contenido del origen. Solo cambia el identificador de caché de la solicitud. La solicitud enviada al origen permanece idéntica a la solicitud original del cliente.
Una clave de caché es el identificador único de un archivo almacenado en caché en un PoP de DCDN. De forma predeterminada, la clave de caché es la URL completa de la solicitud, incluidos los parámetros de consulta.
Escenario 1
Cuando las solicitudes de los clientes para un mismo archivo contienen distintos parámetros de URL, los PoP de DCDN las tratan como solicitudes de archivos diferentes. Esto genera varias copias del mismo archivo en la caché y aumenta las recuperaciones en el origen.
Utilice reglas de clave de caché personalizada para unificar las claves de caché de solicitudes similares y reducir así la tasa de recuperación en el origen.
Escenario 2
DCDN trata las solicitudes con la misma URL como solicitudes del mismo archivo. Sin embargo, el encabezado HTTP de la solicitud contiene un campo client para diferenciar los sistemas cliente, y el objetivo es recuperar archivos distintos.
En este caso, utilice un Cachekey personalizado para anexar el valor del campo client al Cachekey. De este modo, las dos solicitudes se identifican como dos claves de caché distintas.
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 Custom Cache Key, configure la clave de caché.
NotaLa clave de caché final es una combinación de los siguientes cuatro componentes: URI, Parameter Actions, HTTP Headers y Custom Variables.

Parámetro
Descripción
Rule Condition
Una condición de regla determina si una configuración se aplica a una solicitud mediante la evaluación de los parámetros de dicha solicitud.
ImportanteCuando una función hace referencia a condiciones de regla configuradas en el motor de reglas, el orden de ejecución sigue la prioridad de dichas condiciones, y no el orden de las configuraciones de la función.
Do not use conditions: deshabilita las reglas condicionales.
Agregue o edite reglas condicionales en Rules engine.
URIs
Si el URI de una solicitud de cliente coincide con el Source URI configurado, el sistema reemplaza el Source URI por el Final URI configurado al generar la parte del URI de la clave de caché.
Configure varias reglas de reemplazo de URI. Si existen varias reglas, se evalúan secuencialmente de arriba hacia abajo. Una vez que se encuentra una coincidencia con un Source URI, el sistema utiliza el Final URI correspondiente para el reemplazo y deja de evaluar las reglas posteriores.
Source URI: un URI que comienza con una barra diagonal (/) y no incluye el prefijo http:// ni el nombre de dominio. Admite expresiones regulares
PCRE.Final URI: un URI que comienza con una barra diagonal (/) y no contiene el prefijo http:// ni un nombre de dominio.
Parameter Actions
Estas operaciones se aplican a los parámetros de consulta de la URL de solicitud original. Ejecute operaciones de tipo Add, Delete, Modify o Reserve sobre los parámetros. Los parámetros resultantes forman la cadena de consulta de la clave de caché. Configure varias operaciones; estas se ejecutan secuencialmente de arriba hacia abajo.
Add: anexa un nuevo parámetro de consulta a la clave de caché. Por ejemplo, si la URL original es
http://image.example.com/cat.jpgy agrega el parámetro de consultatype=jpg, la clave de caché seráhttp://image.example.com/cat.jpg?type=jpg.Delete: elimina un parámetro de consulta específico de la URL de solicitud original al generar la clave de caché. Por ejemplo, si la URL original es
http://image.example.com/cat.jpg?type=jpgy elimina el parámetrotype, la clave de caché seráhttp://image.example.com/cat.jpg.Modify: modifica un parámetro de consulta específico de la URL de solicitud original al generar la clave de caché. Por ejemplo, si la URL original es
http://image.example.com/cat.jpg?type=jpgy modifica el parámetro atype=png, la clave de caché seráhttp://image.example.com/cat.jpg?type=png.Reserve: conserva únicamente los parámetros de consulta especificados de la URL de solicitud original al generar la clave de caché. Por ejemplo, si la URL original es
http://image.example.com/cat.jpg?type=jpg&path=imagey conserva el parámetrotype, la clave de caché seráhttp://image.example.com/cat.jpg?type=jpg.
HTTP Headers
Anexa a la clave de caché el valor de un encabezado HTTP específico de la solicitud original del cliente. Configure varios nombres de encabezados HTTP separados por espacios. El valor de cada encabezado especificado se anexa a la clave de caché de forma secuencial.
Por ejemplo, si la URL original es
http://image.example.com/cat.jpg, la solicitud del cliente incluye el encabezado HTTPpath: imagey usted configura HTTP Headers para incluir el encabezadopath, la clave de caché seráhttp://image.example.com/cat.jpgimage.Custom Variables
Agrega información de variables personalizadas a la clave de caché generada para mejorar la flexibilidad de sus configuraciones de caché. Una variable personalizada incluye los siguientes parámetros:
Variable Name: un nombre personalizado para la variable.
Variable Source: un campo específico de la solicitud del cliente que se utiliza como origen de la variable.
Query String Parameter: una cadena de consulta en la URL de la solicitud.
Request Header: un encabezado de la solicitud del cliente.
Path: la ruta del recurso en la URL de la solicitud.
Scheme: el protocolo utilizado en la URL de la solicitud. Admite HTTP y HTTPS.
Source Field Name: aplica a los tres escenarios siguientes:
El nombre de un parámetro de cadena de consulta específico.
El nombre de un encabezado de solicitud específico.
Matching Rule: una expresión regular que se utiliza para hacer coincidir caracteres específicos en el valor del campo.
Variable Expression: se utiliza para generar el valor final de la variable. Admite cadenas fijas y expresiones como
$1para hacer referencia al contenido del primer grupo de captura.
Haga clic en OK para completar la configuración.
Ejemplos de configuración
URIs
Las solicitudes a http://aliyundoc.com/a/b/image.jpg y http://aliyundoc.com/a/b/c/image.jpg se tratan como solicitudes del mismo archivo. La clave de caché de este archivo es http://aliyundoc.com/c/image.jpg.
Parameter Actions
Para una solicitud de cliente a http://aliyundoc.com/a/b/image.jpg?delete_par=1&modify_par=1 , las reglas agregan add_par=1, eliminan delete_par y modifican el valor de modify_par a 2. La clave de caché final es http://aliyundoc.com/a/b/image.jpg?modify_par=2&add_par=1.
En las operaciones de parámetros, si se aplican varias operaciones a la misma variable, la prioridad es la siguiente: Add > Delete > Keep > Modify.

HTTP Headers
Los valores de los encabezados HTTP User-Agent y Accept-Language de la solicitud del cliente se anexan a la clave de caché. Para una solicitud a http://aliyundoc.com/a/b/image.jpg con User-Agent: Mozilla/5.0 (Linux; X11) y Accept-Language: en, la clave de caché resultante es http://aliyundoc.com/a/b/image.jpgMozilla/5.0(Linux;X11)en.
Custom Variables
Ejemplo 1
El nombre de la variable es language, el origen es Request Header, el nombre del campo de origen es Accept-Language, el patrón de coincidencia es ([%w]+),([%w]+) y la expresión de la variable es $1aa.
Si un cliente envía una solicitud a http://aliyundoc.com/a/b/image.jpg con el encabezado de solicitud HTTP Accept-Language=en,ch , el patrón de coincidencia detecta en y lo asigna a $1 en la expresión de la variable. Luego, la expresión de la variable anexa aa para crear el valor enaa. Este valor recibe el alias language y se anexa a la URL para formar la clave de caché: http://aliyundoc.com/a/b/image.jpgenaa.
En una expresión de variable, $n representa el contenido capturado por el n-ésimo par de paréntesis del patrón de coincidencia. Por ejemplo, en el ejemplo 1, si la entrada es Accept-Language=en,ch y el patrón de coincidencia es ([%w]+),([%w]+), entonces $1=en y $2=ch.
Ejemplo 2
El nombre de la variable es expired, el origen es Request Cookie, el nombre del campo de origen es a, el patrón de coincidencia es [%w]+:(.*) y la expresión de la variable es $1.
Si un cliente solicita http://aliyundoc.com/a/b/image.jpg con la cookie Cookie a=expired_time:12635187, el patrón de coincidencia detecta 12635187. Este valor se asigna a $1 en la expresión de la variable con el alias expired, y se anexa a la URL para formar la clave de caché final: http://aliyundoc.com/a/b/image.jpg12635187.
Ejemplo 3
Configure tanto reglas de URI como variables personalizadas.
-
URI:
Reescriba todos los URI de solicitud que coincidan con
/abc/.*/abca/abc.
-
Variable personalizada:
El nombre de la variable es
testname, el origen esPath, el patrón de coincidencia es/abc/xyz/(.*)y la expresión de la variable es$1.
Para una solicitud de cliente con la URL
http://aliyundoc.com/abc/xyz/abc/image.jpg, la clave de caché se normaliza ahttp://aliyundoc.com/abc/image.jpgsegún la configuración de URI. Después, con base en la configuración de la variable personalizada, esta URL coincide con/abc/xyz/(.*). En ese momento, se asigna el valorabca$1y se anexa a la clave de caché para formar la clave final:http://aliyundoc.com/abc/image.jpgabc. Así, ambas reglas trabajan en conjunto para implementar una lógica de almacenamiento en caché más compleja.Si una variable personalizada para la clave de caché no tiene coincidencias, la expresión de variable
$1no se concatenará a la clave de caché.