Générateur d’en-tête Cache-Control

Construisez un en-tête de réponse HTTP Cache-Control correct à partir de simples interrupteurs et d’unités de temps lisibles, directement dans votre navigateur.

Votre en-tête Cache-Control est assemblé localement dans votre navigateur à partir des options que vous choisissez, et rien de ce que vous configurez n’est téléversé ni stocké sur un serveur.

Vous configurez un serveur ? Essayez le Générateur de configuration nginx.

À propos de Générateur d’en-tête Cache-Control

Ce générateur d’en-tête Cache-Control transforme l’ensemble déroutant des directives de mise en cache HTTP en quelques simples interrupteurs. Basculez public ou private, no-store, no-cache, must-revalidate, proxy-revalidate ou immutable, et définissez des durées comme max-age, s-maxage, stale-while-revalidate et stale-if-error à l’aide d’unités humaines telles que les heures, les jours ou les années plutôt qu’en comptant les secondes. À mesure que vous modifiez les options, l’outil compose les directives dans l’ordre canonique, explique en clair exactement ce que fait l’en-tête actuel et signale les combinaisons contradictoires comme no-store avec max-age. Des préréglages couvrent les cas courants : un actif statique immutable d’un an, du HTML à revalider systématiquement, des données privées à ne jamais stocker et une politique répartie entre CDN et navigateur. Copiez l’en-tête brut ou des extraits nginx, Apache et meta HTML prêts à l’emploi. Tout s’exécute sur votre appareil, dans le navigateur.

Fonctionnalités

Comment utiliser Générateur d’en-tête Cache-Control

  1. Choisissez un préréglage ou partez de zéro et choisissez public ou private.
  2. Activez les directives dont vous avez besoin, comme no-cache, must-revalidate ou immutable.
  3. Saisissez les durées comme max-age avec un nombre et une unité (heures, jours, années).
  4. Lisez la valeur d’en-tête générée et l’explication en clair située en dessous.
  5. Copiez l’en-tête brut ou l’extrait nginx, Apache ou meta HTML dont vous avez besoin.

Exemple

Entrée

public + immutable + max-age = 1 year

Sortie

Cache-Control: public, max-age=31536000, immutable

La politique classique d’actif statique avec empreinte : mise en cache pour un an et aucune revalidation.

Erreurs courantes et dépannage

Foire aux questions

Quelle est la différence entre no-cache et no-store ?
no-store signifie que la réponse ne doit jamais être écrite dans un cache, chaque requête retourne donc à l’origine. no-cache autorise le stockage de la réponse, mais le cache doit la revalider auprès de l’origine avant de la servir à nouveau. no-store consiste à ne conserver aucune copie ; no-cache consiste à toujours vérifier qu’une copie conservée est encore à jour.
Que fait immutable dans un en-tête Cache-Control ?
immutable indique au navigateur que la ressource ne changera jamais pendant la durée de son max-age, il peut donc ignorer la revalidation même lorsque l’utilisateur recharge. Il est destiné aux fichiers versionnés ou à empreinte comme app.9f2c.js, où une nouvelle build est publiée sous une nouvelle URL plutôt qu’en écrasant l’ancienne.
En quoi max-age et s-maxage diffèrent-ils ?
max-age définit combien de temps la réponse reste fraîche dans n’importe quel cache, y compris le navigateur. s-maxage remplace max-age mais uniquement pour les caches partagés comme les CDN et les proxys. Définir les deux vous permet de mettre en cache une réponse brièvement dans les navigateurs tout en la conservant plus longtemps sur votre CDN.
Quand faut-il utiliser public plutôt que private ?
public permet aux caches partagés comme les CDN et les proxys de stocker la réponse en plus du navigateur. private restreint le stockage au navigateur de l’utilisateur, ce qui est le bon choix pour des réponses personnalisées ou authentifiées qui ne doivent pas être servies à un autre utilisateur depuis un cache partagé.
Que fait stale-while-revalidate ?
stale-while-revalidate permet à un cache de servir immédiatement une réponse légèrement périmée pendant qu’il récupère une copie fraîche en arrière-plan. Les utilisateurs obtiennent une réponse instantanée et le cache se met à jour pour la requête suivante, ce qui adoucit le moment où une ressource expire.
Ma configuration est-elle envoyée à un serveur ?
Non. L’en-tête, l’explication et les extraits sont tous assemblés dans votre navigateur à mesure que vous basculez les options, de sorte que la configuration est traitée localement sur votre appareil et rien n’est téléversé.

Outils associés

Tous les outils ArrayKit