Tous les produits
Search
Centre de documentation

CDN:Configurer la durée d'expiration du cache CDN

Dernière mise à jour :Aug 18, 2026

En configurant des règles d'expiration du cache, vous contrôlez la durée de conservation des ressources sur les points de présence (POP) CDNDCDN, afin d'équilibrer l'actualité du contenu, les performances d'accès et les coûts de récupération depuis le serveur d'origine. Cette rubrique explique comment configurer et valider les règles de cache, fournit des conseils de dépannage et présente les bonnes pratiques.

Fonctionnement

Lorsqu'une requête atteint un point de présence (POP) CDNDCDN, le système suit le processus priorisé suivant pour décider s'il doit servir une copie mise en cache ou récupérer le dernier contenu depuis le serveur d'origine.

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

  2. Les règles de cache configurées dans la console CDNDCDN sont prioritaires, sauf si le serveur d'origine envoie explicitement une directive no-cache comme décrit ci-dessus.

    • Logique de priorité lorsque plusieurs règles de cache de la console correspondent à une requête :

      Scénario

      Logique de priorité

      Exemple

      Poids différents

      La règle au poids le plus élevé (1-99) est prioritaire.

      La règle A (répertoire /image/, poids 50) et la règle B (extension de fichier .jpg, poids 90) correspondent toutes deux à image/a.jpg. La règle B s'applique car son poids est supérieur.

      Même poids

      La règle créée en premier est prioritaire.

      Vous configurez une règle de répertoire (/static/) et une règle d'extension de fichier (.js) pour un nom de domaine, toutes deux avec un poids de 60. Si la règle de répertoire a été créée avant celle d'extension, une requête pour /static/app.js correspond à la règle de répertoire.

    • Dès qu'une requête correspond à une règle de cache, le système n'évalue aucune autre règle.

    • Par défaut, si le serveur d'origine répond avec Pragma: no-cache ou Cache-Control: no-cache/no-store/max-age=0, le POP CDNDCDN ne met pas la ressource en cache. Pour forcer la mise en cache, sélectionnez Ignore Origin No-Cache Header lors de la configuration de la règle d'expiration du cache.

  3. CDNDCDN respecte les en-têtes de réponse HTTP du serveur d'origine si une requête ne correspond à aucune règle de la console CDNDCDN, ou si la règle correspondante a l'option Honor Origin TTL activée. La priorité des en-têtes, de la plus élevée à la plus faible, est la suivante : cache-control > expires > last-modified > ETag.

    En-tête de réponse

    CDN gestion

    Remarques et exemples

    Cache-Control

    Utilise d'abord s-maxage (durée du cache CDN), puis max-age.

    Exemple : s-maxage=86400, max-age=3600

    Expires

    Spécifie l'heure d'expiration. Cet en-tête n'est utilisé qu'en l'absence d'en-tête Cache-Control.

    Exemple : Expires: Wed, 21 Oct 2025 07:28:00 GMT

    Last-Modified

    L'en-tête Last-Modified est un horodatage indiquant la date de dernière modification de la ressource.

    La durée de mise en cache se calcule comme suit :

    (Heure actuelle - last-modified) × 0,1. La durée calculée est ensuite plafonnée entre un minimum de 10 secondes et un maximum de 3 600 secondes.

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

    ETag

    Un ETag est un identifiant unique généré par le serveur pour une version spécifique d'une ressource, généralement un hachage ou un numéro de version.

    Par défaut, une ressource dotée d'un ETag est mise en cache pendant 10 secondes.

    Exemple : ETag: "abc123"

  4. Politique no-cache CDNDCDN : Si une requête ne correspond à aucune règle de cache dans la console CDNDCDN et que le serveur d'origine ne renvoie pas d'en-têtes de réponse de cache tels que Cache-Control, alors CDNDCDN applique une politique no-cache.

Remarque

CDNDCDN applique les politiques de cache uniquement aux requêtes pour lesquelles le serveur d'origine renvoie un code d'état 200, 203, 206, 300, 301, 308 ou 410. Pour mettre en cache des requêtes avec d'autres codes d'état, tels que 404, vous devez configurer ce comportement sous Cache Configuration > Status Code Expiration.

Procédure

Console (recommandé)

  1. Dans la console CDN, accédez à la page Domain Names et cliquez sur Manage à côté du nom de domaine cible.

  2. Sur la page Cache > Cache Expiration , cliquez sur Create Rule pour configurer une règle de cache.

    Paramètre

    Description

    Valeur par défaut/exemple

    Type

    Spécifiez la portée de la règle par Directory ou File Extension.• Directory : définit une règle de cache uniforme pour toutes les ressources sous un chemin.• File Extension : définit une règle de cache uniforme pour les fichiers d'un type spécifique.

    Directory, File Extension

    Object

    Saisissez une valeur en fonction du type sélectionné :• Directory : doit commencer par une barre oblique (/), par exemple /static/. Une seule barre oblique (/) correspond à tous les chemins. Vous ne pouvez ajouter qu'un seul répertoire à la fois.• File Extension : saisissez une ou plusieurs extensions de fichier, séparées par des virgules, par exemple jpg,png,css. Les entrées sont sensibles à la casse et ne prennent pas en charge la barre verticale (

    ) ni d'autres symboles.

    /static/, jpg,png,css

    Expire In

    Durée de mise en cache des ressources sur les POP. La durée maximale est de trois ans.• Pour les ressources statiques rarement mises à jour (par exemple, images, programmes d'installation), définissez une durée ≥ 1 mois.• Pour les ressources statiques fréquemment mises à jour (par exemple, fichiers JS/CSS), définissez une durée plus courte, telle que 1 à 7 jours.• Pour le contenu dynamique (par exemple, pages PHP/JSP), définissez la durée sur 0 seconde (pas de cache).

    0 seconde à 3 ans

    Honor Origin TTL

    Cette option est désactivée par défaut. Si elle est activée, la politique de cache du serveur d'origine est prioritaire et remplace cette règle.

    Off

    Ignore Origin No-Cache Header

    Si cette option est activée, CDN ignore les directives no-cache suivantes du serveur d'origine : Cache-Control: no-store, no-cache, ou max-age=0, et Pragma: no-cache. Les ressources sont mises en cache selon la règle de la console.

    Off

    Follow POP Cache Policy

    Si cette option est activée, CDN renvoie sa politique de cache effective, telle que max-age=3600, au client dans l'en-tête de réponse.

    Off

    Force Revalidation

    Ce paramètre n'est effectif que lorsque la durée d'expiration est définie sur 0 seconde.• Désactivé (par défaut, équivalent à la politique de cache no-store) : le POP ne met pas le fichier en cache et chaque requête doit être transférée au serveur d'origine pour récupérer le contenu.• Activé (équivalent à la politique de cache no-cache) : le POP met le fichier en cache, mais chaque requête doit être revalidée auprès du serveur d'origine en utilisant le mécanisme 304. Cela s'avère utile pour les scénarios nécessitant une validation en temps réel tout en réduisant la pression sur la bande passante du serveur d'origine.

    Off

    Weight

    Priorité de la règle. La valeur peut aller de 1 à 99, une valeur plus élevée indiquant une priorité plus grande. Lorsque plusieurs règles correspondent à la même ressource, la règle au poids le plus élevé est prioritaire. Si les poids sont identiques, la règle créée en premier est prioritaire. Nous vous recommandons de définir un poids élevé pour les chemins ou extensions de fichier spécifiques et un poids faible pour le répertoire racine (/) afin d'obtenir un contrôle granulaire.

    1 à 99

    Rule Condition

    Affinez davantage la portée de la règle en fonction des paramètres de requête tels que les en-têtes et les paramètres URL. Cette option n'est pas utilisée par défaut. Pour configurer des conditions, utilisez le Rule Engine. Lorsque des conditions de règle sont référencées, elles sont mises en correspondance en fonction de la priorité des conditions associées, et non de l'ordre de configuration de la fonctionnalité elle-même.

    Do not use

Logique de correspondance des règles de cache

Les règles d'expiration du cache CDN prennent en charge deux types de règles avec des comportements de correspondance différents :

  • Directory : utilise la correspondance par préfixe de chemin. Par exemple, la configuration de /static/ correspond à toutes les ressources sous ce répertoire (telles que /static/image/1.jpg et /static/css/style.css). La configuration de / correspond à tous les chemins. Le chemin du répertoire doit commencer par une barre oblique (/). Chaque règle ne prend en charge qu'un seul répertoire.

  • File Extension : utilise la correspondance exacte de l'extension. Saisissez les extensions sans points et séparez plusieurs extensions par des virgules (par exemple, jpg,css,js). Les extensions ne prennent en charge que les caractères alphanumériques, sans restriction sur les types d'extensions spécifiques. Les types suivants peuvent tous être configurés :

    • Extensions de ressources statiques courantes : jpg, png, gif, css, js, html

    • Extensions de fichiers de police : ttf, otf, woff, woff2, eot

    • Extensions de pages dynamiques : php, aspx, jsp

    • Toute autre extension alphanumérique

Remarque

Prenez note des points suivants concernant la correspondance des règles de cache :

  • Lorsque plusieurs règles de cache correspondent à la même requête (par exemple, une règle de répertoire et une règle d'extension de fichier), la règle au Weight le plus élevé est prioritaire. Les règles ayant des poids égaux sont départagées par ordre de création (la règle la plus ancienne gagne). Pour plus de détails, consultez la section « Fonctionnement » ci-dessus.

  • Si vous associez une condition de règle (configurée dans le Rule Engine) à une règle de cache, plusieurs conditions utilisent la logique ET — la requête doit satisfaire à toutes les conditions pour correspondre.

  • Si vous définissez une règle no-cache globale pour toutes les extensions dynamiques (telles que aspx), assurez-vous qu'elle n'affecte pas les ressources statiques que vous souhaitez mettre en cache. Pour mettre en cache les fichiers de police, ajoutez une règle dédiée avec des extensions telles que ttf,otf,woff,woff2,eot.

API

Appelez l'opération d'API BatchSetCdnDomainConfig pour configurer plusieurs noms de domaine par lots. Pour plus d'informations sur la configuration des paramètres pour d'autres fonctionnalités, consultez Domain name configuration functions.

Appliquer immédiatement les modifications de règles

Les nouvelles règles ou les règles modifiées s'appliquent uniquement aux ressources nouvellement mises en cache. Les ressources précédemment mises en cache continuent d'utiliser l'ancienne politique de cache jusqu'à leur expiration.

Pour appliquer immédiatement de nouvelles règles à l'ensemble du réseau, vous devez vider manuellement le cache existant. Si vous modifiez une règle, effectuez une opération de purge en utilisant la fonctionnalité Purge and Prefetch resources. Si vous ajoutez une nouvelle règle, effectuez une opération de préchargement en utilisant la fonctionnalité prefetch resource.

Vérification

Une fois la configuration terminée, vous pouvez utiliser la commande curl ou les outils de développement du navigateur pour inspecter les en-têtes de réponse HTTP d'une ressource et vérifier que la mise en cache fonctionne comme prévu.

1. Exécuter la commande de vérification

Exécutez la commande suivante dans votre terminal pour tester la configuration.

curl -I "https://your.domain.com/path/to/file.jpg"

2. Interpréter les principaux en-têtes de réponse

En-tête de réponse

Description

X-Cache

Indique si la requête a atteint le cache CDNDCDN.- HIT : succès du cache.- MISS : échec du cache. La ressource a été récupérée depuis l'origine.

Cache-Control

Après avoir activé « Client Follows CDNDCDN Cache Policy », cet en-tête affiche la directive de mise en cache que CDNDCDN transmet au navigateur, telle que max-age=3600.

X-Swift-CacheTime

Durée totale configurée de mise en cache de la ressource sur le POP, en secondes.

Bonnes pratiques

  • Utilisez des noms de fichiers versionnés (recommandé) : lorsque vous mettez à jour une ressource statique comme style.css, utilisez un nouveau nom de fichier avec une version ou un hachage, tel que style-v2.css ou style-a1b2c3d.css, et mettez à jour la référence dans votre HTML. Cette méthode garantit que les utilisateurs reçoivent immédiatement le dernier contenu sans nécessiter de purge manuelle du cache CDNDCDN et constitue la méthode recommandée pour mettre à jour le contenu mis en cache.

  • Mettez en œuvre la séparation du contenu dynamique et statique : utilisez des noms de domaine ou des chemins de répertoire différents pour les ressources dynamiques et statiques. Configurez des règles de cache distinctes à poids élevé pour chacune afin d'éviter les conflits de politique. Par exemple, définissez une longue durée de mise en cache pour toutes les ressources du répertoire /static/ et aucune mise en cache pour les ressources du répertoire /api/.

  • Utilisez efficacement le cache du navigateur : activez « Client follows CDNDCDN cache policy » pour réduire les requêtes répétées vers CDNDCDN, améliorer la vitesse de chargement et économiser le trafic CDNDCDN.

  • Évitez les durées de cache excessivement courtes : une durée de cache courte amène CDNDCDN à effectuer de fréquentes récupérations depuis l'origine, ce qui annule les avantages de l'accélération et augmente le trafic et les coûts de votre serveur d'origine.

  • Soyez prudent avec les longues durées de cache : une longue durée de cache peut empêcher les clients de recevoir rapidement les mises à jour de contenu. Pour le contenu nécessitant des mises à jour fréquentes, assurez-vous de purger le cache ou d'utiliser des noms de fichiers versionnés.

  • Scénarios de petits fichiers : pour les ressources de petits fichiers dans l'industrie du jeu (telles que les fichiers de configuration et les packages d'actifs) qui sont mises à jour peu fréquemment (par exemple, hebdomadairement ou bimensuellement), définissez la durée d'expiration du cache sur 15 jours ou adaptez-la au cycle réel de mise à jour des ressources. Cela permet d'équilibrer la vitesse de mise à jour et les performances d'accélération. Une durée de cache trop courte entraîne de fréquentes récupérations depuis l'origine et réduit les avantages de l'accélération ; une durée trop longue risque de diffuser du contenu obsolète aux joueurs. Nous vous recommandons d'utiliser la fonctionnalité purge and prefetch pour actualiser proactivement le cache lorsque le contenu est mis à jour.

Mécanismes de contrôle de cache HTTP

Le protocole HTTP utilise trois types d'en-têtes pour le contrôle du cache :

  1. Validation de la durée d'expiration

    Lorsqu'un client demande une ressource à un serveur, les deux parties conviennent d'une durée d'expiration pour la ressource. Avant cette date, la copie mise en cache est considérée comme valide. Après cette date, la copie mise en cache devient invalide.

    Dans HTTP, les en-têtes suivants sont couramment utilisés pour contrôler l'expiration du cache :

    En-tête

    Version du protocole

    Description

    Exemple

    Type

    Pragma

    HTTP/1,0

    Indique si le contenu doit être mis en cache. Sa valeur est généralement no-cache, ce qui signifie que le fichier ne doit pas être mis en cache. Il est souvent utilisé pour la compatibilité avec les serveurs qui ne prennent en charge que le protocole HTTP/1,0.

    Pragma:no-cache

    Requête/Réponse

    Expires

    HTTP/1,0

    L'en-tête de réponse Expires spécifie la date et l'heure auxquelles le contenu mis en cache devient obsolète.

    Si une date invalide 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 offre un contrôle flexible du cache grâce à diverses directives et constitue l'en-tête principal utilisé à cette fin par les clients modernes, tels que les navigateurs.

    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 d'une validité de cache d'une heure : Cache-Control:max-age=3600

    Requête/Réponse

  2. Validation de la balise de ressource

    Le serveur inclut une balise de ressource (telle qu'un ETag) dans sa réponse initiale. Lorsque le client demande à nouveau la même ressource, il renvoie cette balise au serveur pour validation. Si la ressource n'a pas changé, le serveur répond avec un code d'état HTTP 304, permettant au client d'utiliser sa copie mise en cache. Si la ressource a changé, le serveur envoie le nouveau contenu.

    Dans HTTP, les en-têtes suivants sont couramment utilisés pour contrôler les versions du cache :

    En-tête

    Version du protocole

    Description

    Exemple

    Type

    Last-Modified

    HTTP/1,0

    Indique l'heure de la dernière modification de la ressource.

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

    Réponse

    ETag

    HTTP/1,1

    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 ce n'est pas le cas, le serveur d'origine n'a pas besoin d'envoyer une réponse complète.

    ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

    Réponse

  3. Négociation de contenu

    Les logiciels de mise en cache utilisent une clé pour indexer les objets mis en cache sur le disque. Dans HTTP/1,0, l'URL de la ressource est utilisée comme clé. Cependant, différentes représentations d'une ressource peuvent exister à la même URL. Pour les distinguer, davantage d'informations sont nécessaires de la part du client, telles que les en-têtes Accept-Language et Accept-Charset. Pour prendre en charge la négociation de contenu, HTTP/1,1 a introduit l'en-tête Vary dans le message de réponse. Cet en-tête répertorie les en-têtes de requête requis pour la négociation de contenu.

    La négociation de contenu utilise généralement l'en-tête HTTP Vary pour différencier les différentes copies mises en cache, permettant à différents clients de recevoir différentes copies mises en cache lorsqu'ils demandent la même ressource :

    En-tête

    Version du protocole

    Description

    Exemple

    Type

    Vary

    HTTP/1,1

    Exemples courants :

    • Le serveur spécifie Vary: Accept-Encoding pour informer le récepteur (par exemple, un POP CDN) qu'il doit mettre en cache deux versions de la ressource : compressée et non compressée. Lorsqu'un client demande la même ressource depuis CDN, les anciens navigateurs peuvent recevoir la ressource non compressée pour éviter les problèmes de compatibilité, tandis que les nouveaux navigateurs peuvent recevoir la ressource compressée pour réduire le trafic de transfert de données.

    • Le serveur spécifie Vary: User-Agent pour identifier le type de navigateur envoyant la requête. Cela informe le récepteur (par exemple, un POP CDN) de mettre en cache différentes versions de la ressource en fonction du type de navigateur.

    Vary: Accept-Encoding

    Vary: Accept-Encoding,User-Agent

    Réponse

FAQ

Cache related FAQs