Tous les produits
Search
Centre de documentation

CDN:Clé de cache personnalisée

Dernière mise à jour :Aug 18, 2026

Les règles de clé de cache personnalisée génèrent des clés de cache à partir d'éléments spécifiques d'une requête HTTP, tels que l'URI, les paramètres de requête, les en-têtes HTTP ou des variables personnalisées. En regroupant les requêtes visant la même ressource sous une clé de cache uniforme, cette fonctionnalité améliore le taux de succès du cache, réduit les accès à l'origine et diminue les temps de réponse ainsi que la consommation de bande passante.

Comparaison et sélection des fonctionnalités

  • Conflit entre la clé de cache personnalisée et Ignorer les paramètres : si vous configurez simultanément le filtrage des paramètres et une clé de cache personnalisée, le filtrage des paramètres devient invalide.

  • La fonctionnalité de clé de cache personnalisée offre un contrôle plus fin ; elle est donc recommandée par rapport au filtrage des paramètres. Le tableau suivant compare ces deux fonctionnalités.

    Cas d'utilisation

    Filtrage des paramètres

    Clé de cache personnalisée

    Ignorer tous les paramètres de requête dans la clé de cache

    Définissez Ignore Parameters sur Yes et laissez le champ Retain Specified Parameters vide.

    Ajoutez une règle de paramètre de requête. Définissez Action sur Reserve et définissez Parameter Name sur un nom de paramètre inexistant, tel que example-argument.

    Conserver uniquement le paramètre de requête key1 dans la clé de cache

    Définissez Ignore Parameters sur Yes et définissez Retain Specified Parameters sur key1.

    Ajoutez une règle de paramètre de requête. Définissez Action sur Reserve et définissez Parameter Name sur key1.

    Supprimer uniquement le paramètre de requête key1 de la clé de cache

    Définissez Remove Specified Parameters sur key1.

    Ajoutez une règle de paramètre de requête. Définissez Action sur Delete et définissez Parameter Name sur key1.

  • Réécriture des paramètres d'origine : la fonctionnalité de clé de cache personnalisée modifie uniquement la clé de cache et ne change pas l'URL de la requête vers l'origine. La requête vers l'origine reste identique à la requête du client. Pour modifier les paramètres de requête envoyés à votre origine, utilisez Rewrite origin parameters.

  • Purge du cache : après avoir configuré une clé de cache personnalisée, une tâche de purge par URL peut échouer à faire correspondre le contenu mis en cache. Pour garantir une purge réussie, utilisez la clé de cache finale générée par vos règles comme cible de purge.

Cas d'utilisation

Une clé de cache est un identifiant unique pour un fichier mis en cache sur un point de présence (POP) CDN. Chaque fichier mis en cache possède une clé de cache correspondante. Par défaut, la clé de cache est l'URL de la requête du client, y compris ses paramètres. La fonctionnalité de clé de cache personnalisée ne modifie pas l'URL de la requête vers l'origine. Elle change uniquement la clé de cache. La requête vers l'origine reste identique à la requête originale du client.

Remarque

CDN est conçu pour accélérer les ressources statiques et ne prend pas en charge l'accélération des API dynamiques. La fonctionnalité de clé de cache personnalisée optimise les stratégies de mise en cache pour les ressources statiques, telles que la normalisation des paramètres d'URL ou la différenciation entre clients, et n'est pas adaptée aux scénarios de mise en cache d'API dynamiques. Pour l'accélération du contenu dynamique, envisagez d'utiliser Edge Security Acceleration (ESA).

Cas d'utilisation 1 : Regrouper les requêtes

Les différentes requêtes clientes incluent souvent des paramètres variés dans l'URL. Même si plusieurs requêtes ciblent le même fichier, les POP CDN traitent les requêtes avec des paramètres d'URL différents comme des fichiers distincts. Cela entraîne plusieurs copies mises en cache et des accès supplémentaires à l'origine.Consolidate requests - before

Utilisez des règles de clé de cache personnalisée pour unifier la clé de cache de ces requêtes, ce qui réduit le taux d'accès à l'origine.Consolidate requests - after

Cas d'utilisation 2 : Différencier les requêtes

Lorsque les requêtes clientes partagent la même URL, CDN les traite comme des requêtes pour le même fichier. Toutefois, vous devrez peut-être servir un contenu différent en fonction d'un champ client dans l'en-tête HTTP qui identifie différents systèmes clients.Differentiate requests - before

Dans ce cas, ajoutez la valeur de l'en-tête client à la clé de cache en utilisant une règle de clé de cache personnalisée. Cela crée une clé de cache distincte pour chaque type de client.Differentiate requests - after

Procédure

  1. Connectez-vous à la console CDN.

  2. Sur la page Domain Names, recherchez le nom de domaine cible et cliquez sur Manage dans la colonne Actions.

  3. Dans le volet de navigation de gauche, choisissez Cache.

  4. Sous l'onglet Custom Cache Key, cliquez sur Create Rule pour définir les paramètres suivants :

    Rule Condition

    Une condition de règle identifie les requêtes en fonction de divers paramètres pour déterminer si une configuration s'applique à une requête spécifique. Si une règle utilise une condition de règle, la priorité de la condition de règle détermine l'ordre d'exécution, et non le paramètre de priorité de la fonctionnalité.

    • Do not use : la clé de cache personnalisée s'applique à toutes les requêtes sans condition de règle.

    • Pour ajouter ou modifier une condition de règle : gérez-la dans le moteur de règles. Pour plus d'informations, consultez Rule Conditions et Rules Engine.

    URIs

    Lorsqu'une URI de requête cliente correspond à l'Source URI de la configuration, le système la remplace par l'Final URI configurée pour générer la clé de cache. Vous pouvez configurer plusieurs politiques de remplacement d'URI. Les politiques sont mises en correspondance séquentiellement de haut en bas. Une fois qu'une Source URI est mise en correspondance, le système applique l'Final URI correspondante et arrête la mise en correspondance des politiques suivantes.

    • Source URI : une URI qui commence par une barre oblique (/) et n'inclut pas le préfixe http:// ni le nom de domaine. Les expressions régulières PCRE sont prises en charge.

    • Final URI : une URI qui commence par une barre oblique (/) et n'inclut pas le préfixe http:// ni le nom de domaine.

    Request Parameter

    Les opérations s'appliquent aux paramètres de l'URL de requête d'origine. Vous pouvez effectuer les opérations Add, Delete, Modify et Reserve. Le résultat est ajouté à la clé de cache. Si vous configurez plusieurs opérations, elles sont exécutées séquentiellement de haut en bas.

    • Add : ajoute un nouveau paramètre de requête à la clé de cache. Par exemple, si l'URL d'origine est http://image.example.com/cat.jpg et que vous ajoutez le paramètre type=jpg, la clé de cache devient http://image.example.com/cat.jpg?type=jpg.

    • Delete : supprime le paramètre spécifié de l'URL de requête d'origine lors de la génération de la clé de cache. Par exemple, si l'URL d'origine est http://image.example.com/cat.jpg?type=jpg et que vous supprimez le paramètre type, la clé de cache devient http://image.example.com/cat.jpg.

    • Modify : modifie la valeur d'un paramètre spécifié dans l'URL de requête d'origine lors de la génération de la clé de cache. Par exemple, si l'URL d'origine est http://image.example.com/cat.jpg?type=jpg et que vous modifiez le paramètre en type=png, la clé de cache devient http://image.example.com/cat.jpg?type=png.

    • Reserve : conserve uniquement les paramètres spécifiés de l'URL de requête d'origine lors de la génération de la clé de cache. Tous les autres paramètres sont supprimés. Par exemple, si l'URL d'origine est http://image.example.com/cat.jpg?type=jpg&path=image et que vous conservez le paramètre type, la clé de cache devient http://image.example.com/cat.jpg?type=jpg.

    HTTP Headers

    Ajoute les valeurs des en-têtes HTTP spécifiés de la requête d'origine du client à la clé de cache. Vous pouvez spécifier plusieurs noms d'en-tête, séparés par des espaces. Les valeurs sont ajoutées dans l'ordre où les en-têtes sont spécifiés. Par exemple, si l'URL d'origine est http://image.example.com/cat.jpg et que la requête du client contient un en-tête HTTP path:image, la définition de path dans le champ HTTP Headers produit la clé de cache http://image.example.com/cat.jpgimage.

    Custom Variables

    Ajoute des valeurs de variables personnalisées à la clé de cache générée pour améliorer la flexibilité de la mise en cache. Une variable personnalisée se compose des paramètres suivants :

    • Variable name : un nom personnalisé pour la variable.

    • Source : une valeur de champ transportée dans la requête du client. Les types de source suivants sont disponibles :

      • Query String Parameter : la chaîne de requête dans l'URL de requête.

      • Request Header : un en-tête de requête transporté dans la requête du client.

      • Path : le chemin de la ressource dans l'URL de requête.

      • Scheme : le protocole utilisé par l'URL de requête. Prend en charge HTTP et HTTPS.

    • Source field : requis uniquement pour les types de source Query String Parameter, Request Header et Request Cookie. Spécifiez l'un des éléments suivants :

      • Le nom d'un paramètre spécifié dans la chaîne de requête.

      • Le nom d'un en-tête de requête spécifié.

    • Match rule : une expression régulière qui correspond à une chaîne spécifique dans la valeur du champ source.

    • Variable expression : génère la valeur finale de la variable. Prend en charge les chaînes fixes et les références de groupe de capture telles que $1, qui fait référence au contenu capturé par le premier groupe entre parenthèses.

  5. Cliquez sur OK.

Exemples de configuration

URIs

Les requêtes pour http://aliyundoc.com/a/b/image.jpg et http://aliyundoc.com/a/b/c/image.jpg sont traitées comme des requêtes pour le même fichier. La clé de cache pour ce fichier est http://aliyundoc.com/c/image.jpg. Configurez les règles de réécriture d'URI suivantes : réécrivez l'URI source /a/b vers l'URI finale /c, et réécrivez l'URI source /a/b/c vers l'URI finale /c. Cliquez sur + Add Source URI pour ajouter des règles de réécriture, ou cliquez sur Delete pour supprimer les règles existantes.

Request Parameter

Une requête cliente pour http://aliyundoc.com/a/b/image.jpg?delete_par=1&modify_par=1 est traitée comme suit : add_par=1 est ajouté, delete_par est supprimé et la valeur de modify_par est changée en 2. La clé de cache résultante est http://aliyundoc.com/a/b/image.jpg?modify_par=2&add_par=1.

Important

Si plusieurs opérations ciblent le même paramètre de requête, l'ordre de priorité est : Add > Delete > Reserve > Modify.

L'action Delete prend en charge uniquement un seul nom de paramètre. Pour supprimer plusieurs paramètres, cliquez sur + Add Parameter Operation pour ajouter une règle Delete distincte pour chaque paramètre.

HTTP Headers

Les valeurs des en-têtes User-Agent et Accept-Language d'une requête cliente sont ajoutées à la clé de cache. Par exemple, si une requête pour http://aliyundoc.com/a/b/image.jpg contient les en-têtes User-Agent=Mozilla/5.0 (Linux; X11) et Accept-Language=en, la clé de cache est http://aliyundoc.com/a/b/image.jpgMozilla/5.0(Linux;X11)en. Dans la zone de texte HTTP Headers, saisissez les champs d'en-tête de requête que vous souhaitez inclure, tels que User-Agent et Accept-Language.

Custom Variables

Exemple 1

Le nom de la variable est language, la source est Request Header, le champ source est Accept-Language, la règle de correspondance est ([%w]+),([%w]+) et l'expression de variable est $1aa. Configurez la variable personnalisée comme suit : définissez Variable name sur language, sélectionnez Request Header comme Source, saisissez Accept-Language comme Source field, saisissez ([%w]+),([%w]+) comme Match rule et saisissez $1aa comme Variable expression.

Un client demande http://aliyundoc.com/a/b/image.jpg avec l'en-tête HTTP Accept-Language=en,ch. La règle de correspondance capture en et l'assigne à $1 dans l'expression de variable. L'expression de variable ajoute également aa, ce qui donne la valeur de variable enaa avec l'alias language. Cette valeur est ajoutée à l'URL pour former la clé de cache finale : http://aliyundoc.com/a/b/image.jpgenaa.

Remarque

Le $n dans l'expression de variable fait référence au contenu capturé par le n-ième groupe entre parenthèses dans la règle de correspondance. Par exemple, avec Accept-Language=en,ch et la règle de correspondance ([%w]+),([%w]+), $1=en et $2=ch.

Exemple 2

Le nom de la variable est expired, la source est Request Cookie, le champ source est a, la règle de correspondance est [%w]+:(.*) et l'expression de variable est $1. Configurez la variable personnalisée comme suit :

  • Variable name : expired

  • Source : Request Cookie

  • Source field : a

  • Match rule : [%w]+:(.*)

  • Variable expression : $1

Un client demande http://aliyundoc.com/a/b/image.jpg avec le cookie Cookie a=expired_time:12635187. La règle de correspondance capture 12635187 et l'assigne à $1 dans l'expression de variable, avec l'alias expired. Cette valeur est ajoutée à l'URL pour former la clé de cache finale : http://aliyundoc.com/a/b/image.jpg12635187.

Exemple 3

Cet exemple combine une règle d'URI et une variable personnalisée.

URI :

Regroupez toutes les requêtes dont l'URI correspond à /abc/.*/abc en /abc. L'URI source est /abc/.*/abc et l'URI finale est /abc.

Variables personnalisées :

Le nom de la variable est testname, la source est Path, la règle de correspondance est /abc/xyz/(.*) et l'expression de variable est $1. Configurez comme suit : définissez Variable name sur testname, définissez Source sur Path, définissez Match rule sur /abc/xyz/(.*) et définissez Variable expression sur $1.

Un client demande http://aliyundoc.com/abc/xyz/abc/image.jpg. Selon la configuration de l'URI, la clé de cache est réécrite en http://aliyundoc.com/abc/image.jpg. Ensuite, selon la configuration de la variable personnalisée, le chemin de la requête d'origine correspond à /abc/xyz/(.*). À ce stade, $1 reçoit la valeur abc/image.jpg et est ajouté à la clé de cache, formant la clé de cache finale : http://aliyundoc.com/abc/image.jpgabc/image.jpg. Cela montre comment vous pouvez combiner des règles pour mettre en œuvre une logique de mise en cache plus complexe.

Si une variable personnalisée pour la clé de cache n'est pas mise en correspondance, l'expression de variable $1 n'est pas ajoutée à la clé de cache.

Exemple 4

Cet exemple combine une condition de règle et une variable personnalisée pour générer différentes clés de cache pour les requêtes provenant de clients mobiles et PC.

Condition de règle Mobile :

L'en-tête User-Agent contient l'une des chaînes suivantes : *Mobile*,*Android*,*iPhone*,*ipad*.

Condition de règle PC :

L'en-tête User-Agent ne contient aucune des chaînes suivantes : *Mobile*,*Android*,*iPhone*,*ipad*.

Clé de cache personnalisée Mobile :

Pour Rule Condition, sélectionnez Mobile. Pour les Custom Variables, définissez Variable Name sur Mobile, Source sur Path, Matching Rule sur / et Variable Expression sur +mobile.

Clé de cache personnalisée PC :

Pour Rule Condition, sélectionnez PC. Pour les Custom Variables, définissez Variable Name sur PC, Source sur Path, Matching Rule sur / et Variable Expression sur +pc.

Pour une requête cliente vers http://aliyundoc.com/image.jpg, la requête correspond soit à la règle de clé de cache personnalisée Mobile, soit à la règle PC en fonction de la valeur de User-Agent. La clé de cache finale pour les clients mobiles est http://aliyundoc.com/image.jpg+mobile et la clé de cache finale pour les clients PC est http://aliyundoc.com/image.jpg+pc.