Générateur d'en-tête Cache-Control
Créez visuellement des en-têtes HTTP Cache-Control standard et hautement optimisés en quelques secondes. Définissez des étendues publiques/privées, définissez des délais d'expiration max-age et s-maxage à l'aide de préréglages conviviaux, ajoutez des solutions de secours obsolètes et copiez les configurations de serveur prêtes à l'emploi pour Nginx, Apache, Vercel et Next.js. Privé, rapide et local.
Select your cacheability scope, set browser/CDN expiration parameters, enable stale recovery limits, and specify revalidation holds.
Cache-Control: public, max-age=3600
Plain-English Caching Rule Translation
Browsers will cache this resource locally for up to 1 hour and load it instantly from cache without checking the server.
CDNs and public proxies will cache this resource for up to 1 hour (matching the browser limit).
Once the cache expires, browsers will typically check with the server, but may serve a cached copy under certain network/browser fallback conditions.
Standard caching directive layout suitable for ordinary web assets.
Caractéristiques du générateur d'en-tête Cache-Control
- Configuration fine des directives : configurez facilement la portée de la mise en cache, l'âge maximum du navigateur, les remplacements CDN, les solutions de secours obsolètes, la revalidation obligatoire et l'immuabilité.
- Traductions en anglais simple : comprenez exactement comment la configuration de votre en-tête demande aux navigateurs, aux CDN et aux proxys de stocker, valider et servir vos ressources Web.
- Intégration de code multiplateforme : générez instantanément des extraits d'intégration pour Nginx, Apache, Vercel, Next.js, Netlify, Express, PHP et Cloudflare Workers.
- Sandbox 100 % local et sécurisé : chaque calcul, compilation d'en-tête et exportation d'extraits de code s'exécute entièrement côté client de votre navigateur local, garantissant une confidentialité totale.
La hiérarchie de mise en cache (navigateur vs CDN)
La mise en cache Web s'effectue sur plusieurs couches. Premièrement, le cache du navigateur stocke les ressources localement sur la machine de l'utilisateur. Deuxièmement, les caches partagés tels que les proxys, les passerelles et les réseaux de diffusion de contenu (CDN) mettent en cache les fichiers plus près des utilisateurs situés à des emplacements périphériques. L'utilisation de directives telles que public, private et s-maxage vous permet de contrôler quelles couches mettent en cache vos fichiers et pendant combien de temps.
Validation et revalidation du cache
Des directives telles que must-revalidate et proxy-revalidate indiquent aux caches ce qu'il faut faire lorsqu'une ressource mise en cache expire (devient obsolète). Lorsqu'une revalidation est requise, le cache ne peut pas servir la copie obsolète tant qu'il n'a pas vérifié avec succès auprès du serveur d'origine (en utilisant If-None-Match avec ETags ou If-Modified-Since) que la ressource n'a pas changé.
Avantage obsolète pendant la revalidation
Les applications Web modernes utilisent la revalidation obsolète pour optimiser les chemins de rendu critiques. Au lieu de laisser les utilisateurs attendre les requêtes du réseau lorsqu'un élément mis en cache est périmé, le client charge instantanément l'élément périmé depuis le cache. En arrière-plan, le navigateur déclenche une demande de revalidation pour remplacer l'entrée de cache obsolète par une nouvelle copie pour la requête suivante.
Immuabilité pour les actifs hachés
Pour les frameworks frontaux modernes qui utilisent le hachage de contenu pour les sorties de build (par exemple bundle.[hash].js), il est garanti que les fichiers ne changeront jamais. Marquer ces réponses comme immuables avec une durée maximale élevée (par exemple 1 an) empêche les navigateurs de gaspiller des cycles de processeur et de bande passante du serveur lors de contrôles de revalidation redondants, même lors d'actualisations matérielles du navigateur.
Foire aux questions
Cache-Control est un en-tête HTTP standard contenant des directives qui indiquent aux navigateurs, aux proxys et aux réseaux de diffusion de contenu (CDN) comment mettre en cache les ressources. Il régit la mise en cache, les délais d'expiration, les demandes de revalidation et les politiques de secours obsolètes pour optimiser les performances Web et l'utilisation de la bande passante.
La directive max-age définit la durée pendant laquelle (en secondes) une réponse est considérée comme fraîche pour le navigateur client. La directive s-maxage remplace spécifiquement l'âge maximum pour les caches partagés, les proxys et les CDN (comme Cloudflare ou Fastly), vous permettant de mettre en cache des actifs sur les nœuds périphériques pour des durées différentes de celles du navigateur de l'utilisateur.
La directive no-store interdit à tout cache (navigateur privé ou CDN public) de sauvegarder une quelconque partie de la requête ou de la réponse ; il est récupéré à chaque fois sur le serveur d'origine. La directive no-cache permet aux caches de stocker la réponse, mais les oblige à la valider auprès du serveur d'origine (en utilisant ETag ou Last-Modified) avant de la réutiliser.
La directive immuable indique au navigateur que le corps de la réponse ne changera jamais pendant sa durée de vie maximale. Cela empêche le navigateur d'envoyer des demandes de revalidation conditionnelles au serveur lorsque l'utilisateur actualise manuellement la page, accélérant ainsi le rechargement des pages pour les actifs de bundle statiques et hachés (comme main.a8f9b2.js).
La directive stale-while-revalidate permet aux caches de servir instantanément au client un actif mis en cache expiré (périmé) tout en déclenchant simultanément une récupération en arrière-plan pour récupérer la nouvelle version du serveur d'origine, ce qui entraîne une réponse de latence perçue de 0 ms.
Oui, 100%. Toutes les compilations d’en-têtes, traductions et générations d’extraits de code s’exécutent entièrement côté client dans votre navigateur Web. Aucun paramètre, chemin d'API ou valeur de paramètre n'est jamais téléchargé sur des serveurs externes, préservant ainsi une confidentialité totale.