Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Configurer le TTL du cache

Dernière mise à jour :Sep 11, 2026

Les règles d'expiration du cache déterminent la durée pendant laquelle les ressources restent mises en cache sur les points de présence (POP) DCDN. Cette configuration vous permet d'équilibrer l'actualité du contenu, les performances d'accès et les coûts de récupération depuis l'origine. Cette rubrique explique le fonctionnement des règles de cache, leur configuration et leur vérification, ainsi que le dépannage des problèmes de mise en cache. Elle propose également des bonnes pratiques pour les environnements de production.

Notes d'utilisation

  • Vous pouvez modifier la durée de mise en cache après avoir ajouté un nom de domaine. La durée de conservation influence le trafic vers l'origine et les coûts associés. Le délai d'expiration du cache affecte la fréquence des requêtes adressées au serveur d'origine. Définissez la durée de mise en cache des ressources en fonction de vos besoins métier.

    Si le délai d'expiration est trop court, CDNDCDN interrogera fréquemment l'origine, ce qui augmentera le trafic sur votre serveur source. À l'inverse, un délai trop long retardera la prise en compte des mises à jour de données.

  • Une ressource mise en cache sur un POP CDNDCDN peu consulté (c'est-à-dire que les clients ne demandent pas souvent cette ressource sur ce POP spécifique) peut être remplacée par d'autres ressources plus populaires avant même l'expiration de son délai de validité.

  • Lorsqu'un POP DCDN reçoit un fichier statique depuis le serveur d'origine, il met la ressource en cache selon les règles de cache par défaut de DCDN et leur priorité. Pour connaître les règles applicables aux fichiers dynamiques, consultez la section Présentation des règles d'accélération pour le contenu dynamique et statique.

  • Évitez de mettre à jour le contenu de votre serveur d'origine en conservant le même nom de fichier. Privilégiez l'utilisation de numéros de version pour la synchronisation.

    Pour distinguer clairement le contenu avant et après une mise à jour, synchronisez vos données d'origine via des numéros de version. Cela implique d'utiliser des noms de fichiers différents lors des mises à jour. Par exemple, utilisez des noms tels que img-v1.0.jpg et img-v2.1.jpg.

Procédure

  1. Connectez-vous à la console DCDN.

  2. Dans le volet de navigation de gauche, cliquez sur Domain Names.

  3. Sur la page Domain Names, repérez le nom de domaine cible et cliquez sur Configure.

  4. Dans l'arborescence de navigation de gauche du nom de domaine, cliquez sur Caching.

  5. Sous l'onglet Cache Duration, cliquez sur Add.

  6. Dans la boîte de dialogue Cache Duration, configurez une règle de cache.

    image

    Paramètre

    Description

    Type

    Spécifiez la portée des ressources par Directory ou Filename Extension.

    • Directory : appliquez la même règle de cache à toutes les ressources situées dans un chemin d'accès donné.

    • Filename Extension : appliquez la même règle de cache aux ressources correspondant à un type de fichier spécifique.

    Content

    Le répertoire ou l'extension de fichier auquel la règle s'applique.

    • Si vous définissez Type sur Directory, tenez compte des éléments suivants :

      • Vous ne pouvez ajouter qu'un seul répertoire à la fois. Une barre oblique (/) correspond à tous les répertoires.

      • Saisissez le chemin complet du répertoire. Le chemin doit commencer par une barre oblique (/). Exemple : /directory/aaa.

    • Si vous définissez Type sur Filename Extension, tenez compte des éléments suivants :

      • Vous pouvez saisir une ou plusieurs extensions de fichier. Séparez les différentes extensions par une virgule (,), par exemple jpg,txt. La saisie respecte la casse.

        Les extensions de fichier ne se limitent pas aux types de fichiers statiques courants listés ci-dessous. Vous pouvez saisir n'importe quelle extension personnalisée (par exemple, bytes ou unity3d). Le système reconnaît et met en cache les ressources correspondant à ces extensions personnalisées.

        Types de fichiers statiques pris en charge :

        • Images : GIF, PNG, BMP, JPEG et JPG.

        • Pages Web : HTML, HTM et SHTML.

        • Fichiers audio et vidéo : MP3, WMA, FLV, MP4, WMV, OGG et AVI.

        • Documents : DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT et PDF.

        • Autres : ZIP, EXE, TAT, ICO, CSS, JS, SWF, APK, M3U8, TS, EJS, SVG, WOFF et OTF.

      • Vous ne pouvez pas utiliser un astérisque (*) pour correspondre à tous les types de fichiers.

    Expire In

    La durée de vie (TTL) du cache pour les ressources. La durée maximale est de 3 ans. Nous recommandons les paramètres suivants :

    • Pour les fichiers statiques rarement mis à jour, tels que les images et les packages d'applications, définissez le TTL sur un mois ou plus.

    • Pour les fichiers statiques fréquemment mis à jour, tels que les fichiers JS et CSS, définissez un TTL personnalisé selon vos besoins métier.

    • Pour les fichiers dynamiques, tels que les fichiers PHP, JSP et ASP, définissez le TTL sur 0 s afin d'empêcher leur mise en cache.

    Honor origin cache policy

    Si cette option est activée, les en-têtes de politique de cache provenant du serveur d'origine, tels que Cache-Control et Pragma, sont prioritaires.

    Ignore origin no-cache header

    Lorsque cette fonctionnalité est activée, les POP DCDN ignorent les en-têtes de politique de cache suivants présents dans la réponse du serveur d'origine. Ces en-têtes indiquent que le contenu ne doit pas être mis en cache.

    • Cache-Control: no-store

    • Cache-Control: no-cache

    • Cache-Control: max-age=0

    • Pragma: no-cache

    Client follows DCDN cache policy

    Lorsque cette fonctionnalité est activée, les POP DCDN renvoient au client la politique de cache effective.

    Force revalidation

    Ce paramètre prend effet uniquement lorsque le TTL du cache est défini sur 0. Les effets sont les suivants :

    • Désactivé (par défaut) : lorsque le TTL du cache pour /DCDN est défini sur 0, les POP /DCDN ne mettent pas les fichiers en cache et une récupération depuis l'origine est effectuée pour chaque requête.

    • Activé : lorsque le TTL du cache pour DCDN est défini sur 0, les fichiers peuvent être mis en cache sur les POP DCDN, et chaque requête nécessite une récupération depuis l'origine pour valider le contenu mis en cache.

    Weight

    La priorité de la règle de cache. Les valeurs valides sont des entiers compris entre 1 et 99. Une valeur plus élevée indique une priorité supérieure. La règle ayant la priorité la plus élevée est appliquée en premier.

    Remarque
    • Si vous configurez plusieurs règles de cache, attribuez un poids différent à chacune pour contrôler leur priorité d'exécution.

    • Si plusieurs règles ont le même poids, la règle créée en premier possède la priorité la plus élevée, quel que soit le type de règle.

    • Si plusieurs politiques de cache sont configurées, DCDN cesse de faire correspondre les autres politiques dès qu'une politique prend effet.

    Rule condition

    Une condition de règle identifie diverses informations de paramètres dans une requête utilisateur. Cela détermine si une configuration prend effet pour cette requête.

    Important

    Lorsque vous référencez des conditions de règle, elles sont mises en correspondance en fonction de la priorité des conditions de règle associées, et non de l'ordre de configuration de la fonctionnalité elle-même.

    • Do not use : n'utilise pas de condition de règle.

    • Pour ajouter ou modifier des conditions de règle, gérez-les dans le Rules Engine.

  7. Cliquez sur OK pour enregistrer la configuration.

    Après avoir configuré avec succès une règle de cache, vous la retrouvez dans la liste sous l'onglet Cache Duration. Vous pouvez cliquer sur Modify ou Delete pour gérer la règle.

Règles de cache par défaut d'Alibaba Cloud CDNDCDN et priorités

Pour les réponses de l'origine affichant les codes d'état HTTP 200, 203, 206, 300, 301, 308, or 410, le délai d'expiration du cache est déterminé par les règles suivantes.

Lorsqu'un POP CDNDCDN reçoit une ressource fichier depuis un serveur d'origine, il applique les règles de cache selon l'ordre de priorité suivant. Un numéro plus petit indique une priorité plus élevée.缓存优先级

  1. Si le serveur d'origine répond avec pragma:no-cache, cache-control:no-cache (ou no-store, ou max-age=0), CDNDCDN ne met pas la ressource en cache.

  2. Le délai d'expiration du cache ou le délai d'expiration du code d'état défini dans la console CDNDCDN.

    Remarque

    Si une requête CDNDCDN correspond à plusieurs règles, une seule règle est appliquée. La priorité est déterminée d'abord par le poids, puis par la date de création.

    • Si vous disposez de plusieurs règles de cache, vous pouvez définir un poids différent pour chaque règle afin de contrôler sa priorité d'exécution. Un poids plus élevé indique une priorité supérieure.

    • Pour les règles ayant le même poids, la règle créée en premier possède la priorité la plus élevée, quel que soit le type de règle.

  3. Autres règles de cache configurées sur le serveur d'origine. L'ordre de priorité, du plus élevé au plus faible, est : cache-control > expires > last-modified > ETag.

    1. Si l'en-tête cache-control de la réponse du serveur d'origine spécifie une valeur max-age ou s-maxage supérieure à 0, l'en-tête cache-control est utilisé pour définir la durée de vie. Par exemple : cache-control:max-age=3600. Si max-age et s-maxage sont tous deux présents, s-maxage est prioritaire.

    2. Si la réponse de l'origine ne contient pas d'en-tête cache-control mais contient un en-tête Expires, le délai d'expiration du cache est déterminé par l'en-tête Expires. Par exemple : expires:Tue, 25 Nov 2031 17:25:43 GMT.

    3. Si la réponse de l'origine ne contient ni cache-control ni Expires mais contient last-modified, la durée de mise en cache est calculée à l'aide de la formule suivante : (Heure actuelle - last-modified) × 0,1. Si le résultat se situe entre 10 secondes et 3 600 secondes, ce résultat est utilisé. Si le résultat est inférieur à 10 secondes, la durée de mise en cache est de 10 secondes. Si le résultat est supérieur à 3 600 secondes, la durée de mise en cache est de 3 600 secondes.

    4. Si la réponse de l'origine ne contient ni cache-control, ni Expires, ni last-modified mais contient ETag, la ressource est mise en cache pendant 10 secondes.

  4. Si les données renvoyées par le serveur d'origine ne contiennent aucun des en-têtes de réponse liés au cache (cache-control, expires, last-modified, ou ETag), la ressource n'est pas mise en cache par défaut.

Description des informations de réponse du cache

  • Date :

    • Indique l'heure à laquelle le serveur d'origine a envoyé la ressource en réponse au point de présence (POP) CDNDCDN.

    • Lorsque le POP CDNDCDN revalide la ressource auprès du serveur d'origine en incluant l'en-tête If-Modified-Since ou If-None-Match dans la requête vers l'origine, les informations de date sont mises à jour si le serveur d'origine renvoie un code d'état 304.

    • Le format est l'heure moyenne de Greenwich (GMT), par exemple : Sat, 19 Apr 2025 08:58:31 GMT.

  • X-Cache :

    Indique si la ressource demandée a atteint le cache sur le POP CDNDCDN. Le tableau suivant décrit les valeurs possibles.

    État

    Description

    HIT

    La ressource demandée a atteint le cache sur le POP CDNDCDN.

    MISS

    La ressource demandée n'a pas atteint le cache sur le POP CDNDCDN. La ressource a été fournie par le serveur d'origine.

  • X-Swift-Cachetime :

    • Indique le temps de cache restant de la ressource sur le POP CDNDCDN, en secondes.

    • X-Swift-Cachetime = Ali-Swift-Global-Savetime + Durée d'expiration du cache définie pour CDN - X-Swift-SaveTime.

    • X-Swift-Cachetime n'est pas toujours égal à la durée d'expiration du cache définie pour CDNDCDN. Les trois situations suivantes peuvent se produire :

      • X-Swift-Cachetime = Durée d'expiration du cache définie pour CDNDCDN, par exemple, 3 600 secondes.

      • X-Swift-Cachetime est légèrement inférieur à la durée d'expiration du cache définie pour CDNDCDN. Par exemple, la durée d'expiration du cache pour CDNDCDN est définie sur 300 secondes, mais X-Swift-Cachetime est de 295 secondes. Cela peut être dû aux raisons suivantes :

        • Une latence élevée se produit lorsqu'un POP de niveau 1 récupère des données depuis un POP de niveau 2.

        • Les horloges des POP de niveau 1 et de niveau 2 ne sont pas synchronisées.

      • La valeur de X-Swift-Cachetime est négative. Cela peut être dû à une modification de la durée d'expiration du cache pour CDNDCDN. Lorsque le client envoie une requête, le cache sur le POP de niveau 1 a expiré, mais le cache sur le POP de niveau 2 n'a pas expiré. Par exemple, la durée d'expiration du cache pour CDNDCDN était initialement de 3 600 secondes et a ensuite été modifiée à 300 secondes. Si un client envoie une requête 600 secondes après la première requête, l'en-tête de réponse est X-Swift-Cachetime:-300. Pour résoudre ce problème, vous pouvez actualiser le cache.

  • X-Swift-SaveTime :

    • Indique l'heure à laquelle la ressource a été mise en cache pour la première fois sur le POP CDNDCDN auquel le client a accédé directement. Il s'agit généralement d'un POP de niveau 1.

    • Le format est l'heure moyenne de Greenwich (GMT), par exemple : Sat, 19 Apr 2025 08:58:31 GMT.

  • Ali-Swift-Global-Savetime :

    • Indique l'heure à laquelle la ressource a été mise en cache pour la première fois sur un POP CDNDCDN. Il peut s'agir d'un POP de niveau 2 ou d'un POP situé à un autre niveau de cache, selon l'architecture de cache du site.

    • Le format est un horodatage UNIX, par exemple : 1745053111, qui représente 2025-04-19 16:58:31.

Vérifier l'état du cache des ressources

Après avoir configuré un TTL de cache, utilisez ces méthodes pour vérifier si une ressource est servie depuis le cache DCDN.

  • Méthode 1 : Utiliser la commande curl

    Dans le terminal, exécutez la commande suivante pour demander l'URL cible en utilisant curl -I, et vérifiez le champ X-Cache dans l'en-tête de réponse pour déterminer si le cache a été atteint.

    curl -I http://<accelerated_domain_name>/<resource_path>

    Dans les en-têtes de réponse, vérifiez le champ X-Cache :

    • X-Cache: HIT indique que la ressource a été servie depuis le cache DCDN.

    • X-Cache: MISS indique que la ressource n'a pas été trouvée dans le cache DCDN et a été servie directement depuis le serveur d'origine.

  • Méthode 2 : Utiliser les outils de développement du navigateur

    Utilisez les outils de développement de votre navigateur (F12). Dans l'onglet Réseau, accédez à l'URL de la ressource. Sélectionnez la requête et inspectez l'en-tête X-Cache dans la réponse.

Mécanismes de contrôle de cache HTTP

Le protocole HTTP définit trois types de mécanismes de contrôle de cache :

  1. Mécanisme de validation par délai d'expiration

    Lorsqu'un client demande une ressource à un serveur, un délai d'expiration est établi pour cette ressource. Avant cette heure, la copie mise en cache de la ressource est considérée comme valide. Après cette heure, la copie mise en cache est considérée comme invalide.

    Voici les en-têtes HTTP courants qui contrôlent l'expiration du cache :

    Nom de l'en-tête

    Version du protocole

    Fonction

    Valeur d'exemple

    Type

    Pragma

    HTTP/1,0

    Pragma indique si le contenu ne doit pas être mis en cache. La valeur typique est no-cache, ce qui signifie que le fichier n'est pas mis en cache. Il est souvent utilisé pour la compatibilité avec les serveurs qui ne prennent en charge que HTTP/1,0.

    Pragma:no-cache

    Requête/Réponse

    Expires

    HTTP/1,0

    L'en-tête de réponse Expires contient une date/heure après laquelle le contenu mis en cache expirera.

    Si une date non valide est utilisée, telle que 0, cela signifie que la ressource a déjà expiré.

    Expires: Wed, 21 Oct 2022 07:28:00 GMT

    Réponse

    Cache-Control

    HTTP/1,1

    L'en-tête de réponse Cache-Control peut être défini avec différentes directives pour obtenir un contrôle flexible du cache. C'est l'en-tête principal utilisé par les clients modernes, tels que les navigateurs, pour contrôler la mise en cache.

    Les trois exemples suivants indiquent que le fichier ne doit pas être mis en cache :

    • Cache-Control:no-cache

    • Cache-Control:no-store

    • Cache-Control:max-age=0

    Exemple indiquant une période de validité du cache de 1 heure : Cache-Control:max-age=3600

    Requête/Réponse

  2. Mécanisme de validation par tag de ressource

    Lorsqu'un client demande une ressource à un serveur pour la première fois, le serveur inclut un tag de ressource dans l'en-tête de réponse. Ce tag sert d'identifiant de validation pour les requêtes ultérieures concernant la même ressource. Lorsque le client demande à nouveau la ressource, il inclut le tag dans l'en-tête de requête. Si le serveur valide le tag et détermine que la ressource n'a pas été mise à jour, il répond avec un code d'état HTTP 304. Cela indique que le client peut continuer à utiliser sa copie locale mise en cache. Si le serveur constate une incompatibilité, cela indique que la ressource a été modifiée et que le client doit récupérer à nouveau le contenu de la ressource.

    Voici les en-têtes HTTP courants qui contrôlent les versions du cache :

    Nom de l'en-tête

    Version du protocole

    Fonction

    Valeur d'exemple

    Type

    Last-Modified

    HTTP/1,0

    Last-Modified indique la dernière heure de modification de la ressource.

    Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT

    Réponse

    ETag

    HTTP/1,1

    ETag fournit un identifiant unique pour une version spécifique d'une ressource.

    La comparaison des ETags permet de déterminer si une ressource a changé. Si elle n'a pas changé, le serveur d'origine n'a pas besoin d'envoyer une réponse complète.

    ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

    Réponse

  3. Mécanisme de négociation multi-copies

    Les logiciels de mise en cache utilisent un mot-clé pour indexer les objets mis en cache sur un disque. Dans HTTP/1,0, l'URL de la ressource est utilisée comme mot-clé. Cependant, différentes ressources peuvent partager la même URL. Pour les distinguer, le client doit fournir plus d'informations, telles que les en-têtes Accept-Language et Accept-Charset. Pour prendre en charge ce mécanisme de négociation de contenu, HTTP/1,1 a introduit l'en-tête Vary dans le message de réponse. Cet en-tête spécifie quels en-têtes du message de requête sont utilisés pour la négociation de contenu.

    Le mécanisme de négociation multi-copies utilise généralement l'en-tête HTTP Vary pour distinguer les différentes copies mises en cache. Cela permet à différents clients qui demandent la même ressource de recevoir différentes versions de cette ressource :

    Nom de l'en-tête

    Version du protocole

    Description

    Valeur d'exemple

    Type

    Vary

    HTTP/1,1

    Exemples courants :

    • Le serveur spécifie Vary: Accept-Encoding pour informer l'accepteur (tel qu'un POP DCDN) que deux versions de la ressource (compressée et non compressée) doivent être mises en cache pour cette ressource. Lorsqu'un client demande la même ressource à DCDN, les anciens navigateurs obtiennent la ressource non compressée (pour éviter les problèmes de compatibilité), tandis que les nouveaux navigateurs obtiennent la ressource compressée (pour réduire le trafic de transmission des données).

    • Le serveur spécifie Vary: User-Agent pour identifier le type de navigateur envoyant la requête, informant l'accepteur (tel qu'un POP DCDN) de mettre en cache la version correspondante de la ressource en fonction du type de navigateur.

    Vary: Accept-Encoding

    Vary: Accept-Encoding,User-Agent

    Réponse

Exemples de configuration

Exemple 1 : Pour mettre en cache les fichiers .txt pendant 7 jours, ajoutez une règle de cache dans la console DCDN pour l'extension de nom de fichier .txt et définissez le TTL du cache sur 7 jours.

image.png

Exemple 2 : Les politiques de mise en cache suivantes sont configurées pour le nom de domaine accéléré demo.aliyun.com. Lorsqu'un POP DCDN récupère la ressource http://demo.aliyun.com/image/example.png depuis l'origine, deux règles correspondent. Étant donné que les deux règles ont le même poids, le système donne la priorité à la règle créée en premier. La règle pour le répertoire /image a été créée en premier. Par conséquent, la règle basée sur le répertoire prend effet.image.png

Référence API

BatchSetDcdnDomainConfigs