Générateur d'en-tête de contrôle de cache CDN
Créez des en-têtes Cache-Control pour les actifs compressés - définissez correctement max-age, s-maxage, stale-while-revalidate et Vary: Accept-Encoding pour la livraison CDN. Choisissez parmi 5 préréglages de types d'actifs (actifs statiques hachés au contenu, pages HTML, API publiques, API privées) ou configurez toutes les directives manuellement. Le générateur d'en-tête cdn cache-control génère des extraits de configuration prêts à coller pour Nginx, Apache, Cloudflare, AWS CloudFront, Fastly et Vercel - avec des avertissements en temps réel pour les combinaisons de directives contradictoires. Toute la génération s'exécute dans votre navigateur - aucune inscription requise.
CDN Cache-Control Header Builder
Asset Type Preset
Cache Durations
Cache Directives
Vary Headers
Generated Headers
Cache-Control
Cache-Control: max-age=31536000, s-maxage=31536000, stale-if-error=86400, immutable
Vary
Vary: Accept-Encoding
Server / CDN Config Snippet
Nginx snippet
# Nginx - add to your server {} or location {} block
add_header Cache-Control "max-age=31536000, s-maxage=31536000, stale-if-error=86400, immutable";
add_header Vary "Accept-Encoding";
# For compressed assets, also add:
add_header Content-Encoding gzip;Directive Reference
max-age - browser cache TTL in seconds
s-maxage - CDN/shared cache TTL (overrides max-age for CDNs)
stale-while-revalidate - serve stale while fetching fresh in background
stale-if-error - serve stale if origin returns 5xx error
immutable - skip revalidation during max-age (content-hashed assets only)
Vary: Accept-Encoding - required for CDNs to cache compressed variants separately
Pourquoi utiliser notre générateur d'en-tête CDN Cache-Control ?
- Génération instantanée d'en-têtes Cache-Control : générez instantanément des en-têtes Cache-Control corrects pour les actifs compressés - le générateur d'en-têtes de contrôle de cache cdn produit des extraits de configuration de serveur prêts à coller pour Nginx, Apache, Cloudflare, CloudFront, Fastly et Vercel avec des avertissements de mauvaise configuration en temps réel.
- Générateur d'en-têtes de contrôle de cache CDN sécurisé en ligne : toute la génération d'en-têtes s'exécute entièrement dans votre navigateur. Le générateur d'en-têtes cdn cache-control n'envoie jamais votre configuration à un serveur - sans danger pour la création d'en-têtes pour les API internes, les points de terminaison authentifiés et les configurations CDN propriétaires.
- 5 préréglages de types d'actifs + mode entièrement personnalisé : choisissez parmi 5 préréglages testés au combat - actifs statiques hachés au contenu, actifs versionnés, pages HTML, API publiques et API privées - ou configurez chaque directive manuellement. Le générateur d'en-tête cdn cache-control définit correctement max-age, s-maxage, stale-while-revalidate et Vary pour chaque cas d'utilisation.
- 100 % gratuit pour toujours : le générateur d'en-tête de contrôle de cache cdn est entièrement gratuit, sans inscription, sans niveau premium, sans limites et sans publicité. Créez des en-têtes Cache-Control pour un nombre illimité d'actifs et de configurations CDN à un coût nul, pour toujours.
Cas d'utilisation courants du générateur d'en-tête CDN Cache-Control
- Mise en cache statique des actifs hachés de contenu : créez des en-têtes Cache-Control pour les fichiers JS, CSS et image avec des hachages de contenu dans leurs noms de fichiers - le générateur d'en-tête de contrôle de cache cdn génère la combinaison correcte max-age=31536000, immuable, Vary : Accept-Encoding pour une mise en cache CDN permanente avec suppression instantanée du cache lors du déploiement.
- Configuration du cache de pages HTML : configurez Cache-Control pour les documents HTML nécessitant une mise en cache CDN courte avec une revalidation périmée pour une livraison rapide. Le générateur d'en-tête cdn cache-control définit no-cache avec s-maxage et stale-while-revalidate afin que les CDN servent instantanément du HTML obsolète tout en récupérant du nouveau contenu en arrière-plan.
- Mise en cache des réponses de l'API publique : générez des en-têtes Cache-Control pour les points de terminaison de l'API JSON publique qui bénéficient de la mise en cache CDN. Le générateur d'en-tête cdn cache-control définit la combinaison correcte s-maxage, stale-while-revalidate et Vary: Accept-Encoding afin que les CDN mettent en cache les réponses compressées et non compressées séparément.
- En-têtes de point de terminaison privés/authentifiés : créez des en-têtes Cache-Control sans magasin pour les points de terminaison d'API authentifiés et les réponses spécifiques à l'utilisateur. Le générateur d'en-tête cdn cache-control garantit que les réponses privées ne sont jamais mises en cache par les CDN ou les caches partagés, empêchant ainsi les données sensibles d'être transmises au mauvais utilisateur.
- Configuration multi-CDN : générez des extraits de configuration de serveur pour Nginx, Apache, Cloudflare, AWS CloudFront, Fastly et Vercel à partir d'un seul ensemble d'options. Le générateur d'en-tête cdn cache-control élimine le besoin de traduire manuellement la sémantique Cache-Control dans le format de configuration de chaque CDN.
- Planification de la stratégie de période de revalidation : configurez les durées de période de revalidation et de période de revalidation en cas d'erreur pour les stratégies de mise en cache à haute disponibilité. Le générateur d'en-tête cdn cache-control montre exactement comment ces directives interagissent avec max-age et s-maxage - avec des avertissements pour les combinaisons de directives contradictoires.
Qu'est-ce qu'un générateur d'en-tête CDN Cache-Control ?
Un générateur d'en-têtes de contrôle de cache CDN génère les en-têtes de réponse HTTP Cache-Control et Vary corrects pour les actifs servis via un CDN, garantissant ainsi que les navigateurs et les nœuds périphériques CDN mettent correctement en cache les réponses. Pour les ressources compressées (GZIP ou Brotli), l'en-tête Vary: Accept-Encoding est essentiel : sans lui, les CDN peuvent fournir une réponse compressée à un client qui ne prend pas en charge la compression, provoquant une erreur de décompression. Le générateur d'en-tête cdn cache-control définit correctement l'âge maximum (TTL du navigateur), le s-maxage (TTL CDN), le stale-while-revalidate (actualisation en arrière-plan) et le stale-if-error (repli en cas d'erreur) pour chaque type d'actif.
Comment fonctionne notre générateur d'en-tête de contrôle de cache CDN
- 1 Sélectionnez un type d'actif prédéfini : choisissez parmi 5 préréglages : actifs statiques hachés au contenu, actifs versionnés, pages HTML, API publiques ou API privées. Chaque préréglage applique la combinaison correcte de directives pour ce cas d'utilisation. Basculez vers Personnalisé pour configurer toutes les options manuellement.
- 2 Ajustez les durées et les directives : affinez l'âge maximum, le s-maxage, les périodes de revalidation et les périodes d'erreur en cas d'erreur à l'aide des sélecteurs de durée. Basculez les directives de cache (no-store, no-cache, must-revalidate, immuable) et les en-têtes Vary. Le générateur d'en-têtes cdn cache-control met à jour instantanément les en-têtes générés et affiche des avertissements pour les combinaisons contradictoires.
- 3 Copiez l'en-tête et l'extrait de serveur : les valeurs d'en-tête Cache-Control et Vary générées sont affichées avec des boutons de copie en un clic. Sélectionnez votre CDN ou serveur (Nginx, Apache, Cloudflare, CloudFront, Fastly, Vercel) pour obtenir un extrait de configuration prêt à coller.
Directives clés de contrôle du cache pour les actifs compressés
- Vary : Accept-Encoding : l'en-tête le plus important pour les ressources compressées - indique aux CDN de stocker des entrées de cache distinctes pour les réponses compressées (gzip/brotli) et non compressées. Sans cela, un CDN peut mettre en cache une réponse gzip et la transmettre à un client qui n'a envoyé aucun en-tête Accept-Encoding, provoquant un téléchargement interrompu.
- s-maxage vs max-age : s-maxage remplace max-age pour les caches partagés (CDN, proxys) tout en laissant le TTL du navigateur inchangé. Utilisez s-maxage pour définir une durée de vie CDN plus longue que celle du navigateur - par exemple, max-age=0, s-maxage=86400 signifie que les navigateurs revalident toujours mais que les CDN sont mis en cache pendant 24 heures.
- stale-while-revalidate : permet aux CDN de fournir immédiatement une réponse obsolète tout en en récupérant une nouvelle en arrière-plan. Cela élimine le pic de latence lorsqu'une réponse mise en cache expire : les utilisateurs obtiennent toujours une réponse rapide et le cache est actualisé de manière asynchrone.
- immuable : indique aux navigateurs de ne pas revalider la réponse pendant sa période d'âge maximum, même lors d'un rechargement explicite. À utiliser uniquement avec des noms de fichiers hachés au contenu (par exemple, app.a1b2c3d4.js) - si le contenu change, le nom de fichier doit changer pour vider le cache.
Erreurs courantes de contrôle du cache à éviter
L'erreur la plus courante consiste à définir Cache-Control : max-age=31536000 sans Vary : Accept-Encoding sur les actifs compressés - les CDN ne mettront en cache qu'une seule variante et peuvent servir la mauvaise. Une autre erreur courante consiste à utiliser des noms de fichiers immuables sans hachage de contenu - si le fichier change mais que l'URL reste la même, les navigateurs diffuseront indéfiniment la version obsolète en cache. Le générateur d'en-tête cdn cache-control détecte ces problèmes et affiche des avertissements en temps réel. Testez toujours vos en-têtes Cache-Control avec curl -I et vérifiez le comportement du CDN avec l'inspecteur de cache de votre CDN avant de déployer en production.
Foire aux questions
Un générateur d'en-têtes cdn cache-control génère des en-têtes de réponse HTTP Cache-Control et Vary corrects pour les actifs servis via un CDN. Notre générateur d'en-têtes de contrôle de cache CDN gratuit en ligne produit des extraits de configuration de serveur prêts à coller pour Nginx, Apache, Cloudflare, CloudFront, Fastly et Vercel. Toutes les générations s'exécutent dans votre navigateur sans aucune inscription requise.
Sans Vary : Accept-Encoding, un CDN peut mettre en cache une réponse compressée au format gzip et la transmettre à un client qui n'a envoyé aucun en-tête Accept-Encoding, ce qui entraîne un téléchargement interrompu. L'en-tête Vary indique aux CDN de stocker des entrées de cache distinctes pour les variantes compressées et non compressées de la même URL.
Oui. Toute génération d'en-tête s'exécute entièrement dans votre navigateur à l'aide de JavaScript. Aucune donnée de configuration n'est envoyée à un serveur, stockée à distance ou transmise sur le réseau.
Oui, 100 % gratuit, pour toujours. Pas d'inscription, pas de compte, pas de niveau premium, pas de limites et pas de publicité.
max-age définit la durée de vie du cache du navigateur. s-maxage remplace max-age pour les caches partagés (CDN, proxys) tout en laissant le TTL du navigateur inchangé. Utilisez s-maxage pour définir une durée de vie CDN plus longue que celle du navigateur - par exemple, max-age=0, s-maxage=86400 signifie que les navigateurs revalident toujours mais que les CDN sont mis en cache pendant 24 heures.
Utilisez immuable uniquement avec les noms de fichiers hachés au contenu (par exemple, app.a1b2c3d4.js) et max-age=31536000. Il indique aux navigateurs de ne pas revalider pendant l'âge maximum, même lors d'un rechargement explicite. N'utilisez jamais d'immuable avec des URL non hachées - si le contenu change, le nom du fichier doit changer pour vider le cache.
stale-while-revalidate permet aux CDN de fournir immédiatement une réponse obsolète tout en en récupérant une nouvelle en arrière-plan. Cela élimine le pic de latence lorsqu’une réponse mise en cache expire. Utilisez-le pour les pages HTML et les réponses API où une réponse légèrement obsolète est acceptable.
Utilisez le no-store pour les données vraiment sensibles : cela empêche toute mise en cache, y compris dans le navigateur. Utilisez no-cache pour les réponses qui peuvent être mises en cache mais qui doivent toujours être revalidées. Pour la plupart des API privées, l’absence de magasin est le choix le plus sûr.
Testez avec curl : curl -I https://yoursite.com/assets/app.js. Recherchez les en-têtes Cache-Control et Vary dans la réponse. Pour le comportement du CDN, vérifiez l'en-tête d'état du cache de votre CDN (Cloudflare : CF-Cache-Status, CloudFront : X-Cache). Testez toujours les requêtes compressées et non compressées pour vérifier que Vary: Accept-Encoding fonctionne.