Analyseur gratuit d'en-têtes Cache-Control

Analysez et comprenez les en-têtes Cache-Control. Générateur visuel et recommandations de bonnes pratiques. Gratuit, rapide et fonctionne entièrement dans votre navigateur, sans inscription.

Mis à jour le

Share:
Home/Website Tools/Cache-Control Header Analyzer

Cache-Control Header Analyzer

Parse and understand Cache-Control headers. Visual builder and best-practice recommendations.

Analyze Cache-Control Header

Common Cache Patterns

Static Assets (1 year)

public, max-age=31536000, immutable

API Response (no cache)

no-store, no-cache, must-revalidate

HTML Pages (revalidate)

no-cache, must-revalidate

CDN with SWR (5 min)

public, max-age=300, stale-while-revalidate=60

Private user data

private, no-store

Long CDN, short browser

public, max-age=3600, s-maxage=86400

Questions Fréquentes

Qu'est-ce que le Cache-Control Header Analyzer ?

Le Cache-Control Header Analyzer est un outil en ligne gratuit qui analyse et aide à comprendre les en-têtes cache-control, avec un constructeur visuel et des recommandations de bonnes pratiques. Il fonctionne entièrement dans votre navigateur, sans installation ni inscription.

Quelles directives sont expliquées ?

Toutes les directives Cache-Control, dont max-age, no-cache, no-store, public, private, must-revalidate et bien d'autres.

Puis-je construire un en-tête Cache-Control ?

Oui — activez les directives dans le mode constructeur pour générer la chaîne de l'en-tête.

Est-ce gratuit ?

Oui, entièrement gratuit.

Mes données sont-elles en sécurité avec cet outil ?

Absolument. Le Cache-Control Header Analyzer traite tout côté client, dans votre navigateur. Aucune donnée n'est téléversée ni stockée sur un serveur. Votre contenu reste privé sur votre appareil à tout moment.

Le Cache-Control Header Analyzer fonctionne-t-il sur les appareils mobiles ?

Oui, le Cache-Control Header Analyzer est entièrement responsive et fonctionne sur les smartphones et tablettes. Vous pouvez l'utiliser sur tout appareil doté d'un navigateur web moderne, sans aucun téléchargement d'application.

Dois-je créer un compte pour utiliser cet outil ?

Aucun compte ni inscription n'est nécessaire. Ouvrez simplement le Cache-Control Header Analyzer dans votre navigateur et commencez à l'utiliser immédiatement. Il n'y a ni page d'inscription ni restriction d'utilisation.

Comment utiliser le Cache-Control Header Analyzer ?

Saisissez simplement vos données dans le champ prévu, ajustez les réglages selon vos préférences, et l'outil les traitera instantanément. Vous pouvez ensuite copier le résultat dans le presse-papiers ou le télécharger.

Quels navigateurs sont pris en charge ?

Le Cache-Control Header Analyzer fonctionne dans tous les navigateurs modernes, dont Chrome, Firefox, Safari, Edge et Opera. Pour une expérience optimale, utilisez la dernière version de votre navigateur préféré.

Quelle est la différence entre max-age et s-maxage dans un en-tête Cache-Control ?

Les deux définissent une durée de fraîcheur en secondes, mais elles visent des caches différents. max-age indique à tous les caches — y compris le navigateur du visiteur — combien de temps la réponse reste fraîche avant de devoir être récupérée à nouveau ou revalidée. s-maxage s'applique uniquement aux caches partagés comme les CDN et les proxys, et lorsqu'elle est présente, elle remplace max-age pour ces caches tout en laissant le max-age du navigateur inchangé. Cela permet de mettre en cache une réponse de façon agressive au niveau du nœud CDN tout en conservant une durée différente, souvent plus courte, dans le navigateur — par exemple public, max-age=3600, s-maxage=86400 pour un cache navigateur d'une heure et un cache edge d'un jour. Cet analyseur affiche le cache navigateur et le cache CDN sous forme de deux badges distincts : collez votre en-tête ci-dessus pour voir exactement combien de temps chaque couche conservera la réponse.

Quelle est la différence entre no-cache et no-store ?

Malgré des noms proches, ces directives font des choses opposées. no-store interdit toute mise en cache : ni le navigateur ni aucun CDN ne peuvent conserver de copie, donc chaque requête retourne à l'origine. C'est le bon choix pour les réponses sensibles comme les pages bancaires ou les données de compte personnel. no-cache autorise en revanche le stockage de la réponse, mais le cache doit la revalider auprès du serveur d'origine avant de la resservir, de sorte que l'utilisateur reçoit toujours un contenu vérifié comme frais sans retéléchargement complet lorsque rien n'a changé. Un schéma courant consiste à utiliser no-cache pour le HTML afin que les nouvelles références de ressources apparaissent immédiatement après un déploiement, et à réserver no-store aux cas où la confidentialité l'exige. Collez un en-tête ci-dessus et l'analyseur classe chaque directive par catégorie — fraîcheur, revalidation ou audience — pour que le comportement soit clair en un coup d'œil.

À combien correspond max-age=31536000 et pourquoi cette valeur est-elle si courante ?

max-age s'exprime toujours en secondes, et 31 536 000 secondes équivalent exactement à une année (60 x 60 x 24 x 365). C'est le maximum conventionnel car la plupart des recommandations en matière de cache considèrent qu'une année équivaut, en pratique, à une durée permanente. On la retrouve associée à immutable sur les ressources statiques avec empreinte — des fichiers dont le nom contient un hash du contenu, comme app.4f2a9c.js — car une nouvelle version produit un nouveau nom de fichier, si bien que l'ancien fichier n'a jamais besoin de changer et peut être mis en cache aussi longtemps que possible. La directive immutable indique en plus aux navigateurs de ne pas envoyer de requêtes de revalidation au rechargement pendant cette période. Calculer des durées à la main est source d'erreurs, c'est pourquoi cet outil reconvertit toute valeur de max-age ou s-maxage en unités lisibles comme des heures et des jours, ce qui permet de vérifier un en-tête avant de le déployer. Collez-en un ci-dessus pour le décoder instantanément.

Pourquoi mon site continue-t-il de servir l'ancien contenu après le déploiement d'un correctif ?

Un contenu obsolète après un déploiement provient presque toujours d'un en-tête Cache-Control trop agressif sur le document HTML. Si la page a été envoyée avec un max-age élevé et sans directive de revalidation, les navigateurs et les CDN continuent de servir la copie mise en cache — avec ses anciennes références vers votre CSS et votre JavaScript — jusqu'à l'expiration de cette durée, si bien que les utilisateurs ne voient jamais le correctif. La solution sûre consiste à servir le HTML avec no-cache (ou un max-age très court associé à must-revalidate) afin qu'il soit revalidé à chaque visite et reflète immédiatement les nouvelles références de ressources, tout en réservant une mise en cache longue et immutable aux fichiers statiques hachés. Gardez à l'esprit que les caches edge des CDN obéissent à s-maxage indépendamment, si bien qu'un edge obsolète peut durer plus longtemps qu'un cache navigateur déjà rafraîchi. Collez l'en-tête Cache-Control de la page ci-dessus pour voir s'il est mis en cache trop longtemps.

Que fait stale-while-revalidate et quand devrais-je l'utiliser ?

stale-while-revalidate permet à un cache de servir instantanément une réponse légèrement obsolète pendant qu'il récupère une copie fraîche depuis l'origine en arrière-plan, de sorte que le visiteur suivant obtient la mise à jour sans que personne n'attende un aller-retour lent. Vous définissez une fenêtre en secondes — par exemple public, max-age=300, stale-while-revalidate=60 signifie que la réponse est fraîche pendant cinq minutes, puis peut être servie obsolète pendant une minute supplémentaire au maximum pendant qu'elle se rafraîchit en coulisses. C'est idéal pour un contenu qui tolère une brève obsolescence, comme les pages mises en cache par un CDN et les réponses d'API où la vitesse perçue compte plus que la fraîcheur absolue. Une directive apparentée, stale-if-error, sert une copie obsolète lorsque l'origine renvoie une erreur, ce qui améliore la résilience. Collez ci-dessus un en-tête contenant l'une ou l'autre directive, et l'analyseur explique le comportement exact et le minutage.

Embed This Tool

Add a free, live version of this widget to your own website or blog post — it runs entirely in your visitors' browsers, with a credit link back to The Toolbox.

Copy & paste this HTML
<iframe src="https://getthetoolbox.com/embed/cache-checker" title="Free Cache-Control Header Analyzer — The Toolbox" width="100%" height="280" style="max-width:480px;border:1px solid #e2e8f0;border-radius:12px" loading="lazy"></iframe>
<p style="font-size:12px;margin:4px 0 0"><a href="https://getthetoolbox.com/website-tools/cache-checker?utm_source=embed&utm_medium=widget" target="_blank" rel="noopener">Free Cache-Control Header Analyzer</a> by The Toolbox</p>

À propos de l'analyseur d'en-tête Cache-Control

L'analyseur d'en-tête Cache-Control transforme un en-tête HTTP cryptique en une explication en langage clair. Collez une valeur comme public, max-age=3600, must-revalidate, cliquez sur Analyser, et l'outil décompose l'en-tête en ses différentes directives, indique combien de temps les navigateurs et les CDN sont autorisés à conserver la réponse, et explique ce que fait réellement chaque terme. Il est conçu pour les développeurs front-end et back-end, les ingénieurs DevOps, et toute personne qui cherche à comprendre pourquoi un déploiement ne s'affiche pas ou pourquoi un fichier statique se retélécharge sans cesse.

Tout se passe dans votre navigateur. L'outil analyse la chaîne d'en-tête que vous saisissez — il ne récupère aucune URL, ne contacte aucun serveur et ne conserve pas votre saisie. Il n'y a ni inscription, ni limite d'utilisation, ni logiciel à installer : vous pouvez donc coller des en-têtes issus de vos environnements de test, d'applications internes ou de production sans que rien ne quitte votre appareil.

Ce que l'analyseur vous montre

Lorsque vous analysez un en-tête, l'outil produit deux éléments. D'abord, un résumé visuel qui traduit les directives en une durée de cache concrète : un badge vert avec une durée lisible par un humain (par exemple « 1 heure » plutôt que max-age=3600), ou un état clair « Non mis en cache » / « Doit être revalidé » lorsque no-store ou no-cache est présent. Il indique séparément le cache du navigateur et le cache CDN / partagé, car s-maxage et private modifient le comportement des caches partagés indépendamment du navigateur.

Ensuite, une analyse directive par directive. Chaque terme est classé par catégorie — fraîcheur, revalidation, audience ou autre — et accompagné d'une description en une ligne. L'analyseur reconnaît l'ensemble courant des directives, notamment :

  • max-age / s-maxage — durée de fraîcheur en secondes ; s-maxage remplace max-age uniquement pour les CDN et les proxys.
  • no-cache — la réponse peut être stockée mais doit être revalidée auprès de l'origine avant d'être réutilisée.
  • no-store — la réponse ne doit jamais être mise en cache où que ce soit ; à utiliser pour les données sensibles.
  • public / private — indique si les caches partagés peuvent stocker la réponse, ou si seul le navigateur de l'utilisateur final le peut.
  • must-revalidate / proxy-revalidate / immutable — contrôlent ce qui se passe une fois qu'une réponse devient obsolète.
  • stale-while-revalidate / stale-if-error — servent une copie obsolète pendant que la réponse est rafraîchie en arrière-plan ou lorsque l'origine renvoie une erreur.

Construire un en-tête de toutes pièces

Passez à l'onglet Générateur pour assembler un en-tête sans avoir à mémoriser la syntaxe. Activez les directives voulues, saisissez des valeurs numériques pour max-age, s-maxage, stale-while-revalidate et stale-if-error, et l'outil écrit pour vous la chaîne Cache-Control: correcte, prête à copier. Vous pouvez envoyer directement l'en-tête généré vers l'onglet Analyser pour vérifier qu'il fait bien ce que vous souhaitiez avant de le coller dans la configuration de votre serveur, vos règles CDN ou la réponse de votre framework.

L'onglet Analyser propose également des modèles prêts à l'emploi que vous pouvez charger en un clic : ressources statiques avec empreinte, mises en cache pendant un an avec immutable, HTML en no-cache, données utilisateur privées, et configuration CDN utilisant stale-while-revalidate.

Pourquoi les en-têtes de cache sont importants

Bien régler Cache-Control est l'un des gains de performance les moins coûteux qui soient : une ressource correctement mise en cache est servie depuis le navigateur ou un nœud CDN proche au lieu de faire un aller-retour complet vers votre origine, ce qui réduit le temps de chargement et le trafic vers l'origine. Se tromper est tout aussi lourd de conséquences dans l'autre sens : trop agressif, et les utilisateurs continuent de voir une page obsolète après la mise en ligne d'un correctif ; trop permissif, et vous gaspillez de la bande passante en renvoyant des fichiers qui n'ont jamais changé.

Une base sûre et courante consiste à donner une empreinte aux fichiers statiques (CSS, JS, images avec un hash dans le nom de fichier) et à les mettre en cache avec max-age=31536000, immutable pendant une année complète, tout en servant le HTML avec no-cache afin qu'il soit toujours revalidé et reflète immédiatement les nouvelles références de ressources. Notez que max-age s'exprime toujours en secondes, donc une année correspond à 31 536 000 — une valeur que l'analyseur reconvertit en unités lisibles pour que vous puissiez la vérifier d'un coup d'œil.

Collez un en-tête ci-dessus pour le décoder, ou ouvrez le Générateur pour en créer un nouveau.