Calculateur d’expiration du cache HTTP

Saisissez les valeurs Cache-Control, Expires, Date et Age d’une réponse, l’heure de sa réception et l’heure de vérification. Le calculateur donne la durée de fraîcheur, l’âge actuel et indique si la réponse est encore fraîche.

Type de cache
s
Verdict de fraîcheur (à l’heure de vérification) —
Durée de fraîcheur (combien de temps la réponse peut rester fraîche ; elle ne change pas avec le temps)
Durée de fraîcheur—
Source utilisée—
Âge actuel (le temps écoulé depuis la génération de la réponse ; il augmente avec le temps)
Âge actuel—
  Âge apparent (heure de réception − Date)—
  Valeur de l’en-tête Age—
  Âge à la réception (le plus grand des deux ci-dessus)—
  Temps écoulé depuis la réception—
Fraîcheur restante
Fraîcheur restante (durée de fraîcheur − âge actuel)—
Heure à laquelle elle devient périmée—

    C’est un calcul fondé sur la RFC 9111. Les navigateurs et CDN réels ne se comportent pas toujours exactement comme le décrit la norme. Le délai de réponse est pris égal à 0.

    Ce que fait ce calculateur

    Il couvre une partie de la RFC 9111, la norme de mise en cache HTTP : le calcul de fraîcheur. C’est la partie qui décide si une réponse stockée peut être réutilisée sans vérification auprès du serveur d’origine. La validation (ETag, If-Modified-Since, 304), Vary et le Cache-Control côté requête ne sont pas traités.

    La fraîcheur n’est ni une actualisation ni une suppression

    Une réponse périmée signifie seulement qu’un cache ne peut pas la réutiliser sans vérification préalable. Cela ne signifie pas que l’écran du navigateur s’actualise de lui-même, et cela ne signifie pas que le fichier sur le serveur d’origine est modifié ou supprimé. De même, une réponse fraîche ne signifie pas que le fichier sur le serveur n’a pas changé. L’en-tête Expires, dit la norme, « does not imply that the original resource will change or cease to exist at, before, or after that time ». Ce calculateur ne fait que le calcul de temps de la copie en cache.

    Durée de fraîcheur et âge actuel

    Quelle valeur fixe la durée de fraîcheur

    Selon la section 4.2.1 de la RFC 9111, la première correspondance est utilisée :

    Ordre Cache partagé (CDN, proxy) Cache privé (navigateur)
    1 s-maxage (s-maxage n’est pas utilisé)
    2 max-age max-age
    3 Expires − Date Expires − Date
    4 Si aucune n’est présente, il n’y a pas d’expiration explicite Identique

    Comment l’âge actuel est calculé

    Les formules viennent de la section 4.2.3 de la RFC 9111 :

    Ce calculateur ne demande pas l’heure d’envoi de la requête : il prend donc le délai de réponse (le temps entre l’envoi de la requête et la réception de la réponse) égal à 0. Sur une connexion à fort délai, l’âge calculé peut être plus petit que l’âge réel. La norme autorise aussi à n’utiliser que l’en-tête Age plus le délai.

    Règles de saisie

    Autres directives Cache-Control

    Elles ne sont pas utilisées dans le calcul, mais elles sont affichées comme remarques sur la réutilisation.

    Exemples

    Saisie Résultat
    max-age=3600, sans Age, 1 800 s après la réception Durée de fraîcheur 3 600 s, âge actuel 1 800 s, 1 800 s restantes (fraîche)
    Idem, à exactement 3 600 s Âge actuel 3 600 s. Il est égal à la durée de fraîcheur : elle est donc périmée
    max-age=3600, Age=600, tout juste reçue Âge actuel 600 s, 3 000 s restantes
    Cache partagé avec s-maxage=60, max-age=3600 Durée de fraîcheur 60 s (max-age est ignoré)

    À savoir

    Sources et vérifications

    Les éléments suivants ont été vérifiés dans le texte intégral des normes le 1er novembre 2026 :

    Ce calculateur suit ces sections pour la fraîcheur uniquement. Réussir ce calcul ne revient pas à affirmer qu’un produit ou un serveur est conforme à la norme.

    Questions fréquentes

    Que se passe-t-il quand max-age et Expires sont tous deux présents ?

    max-age est prioritaire et Expires est ignoré (RFC 9111, section 5.3).

    s-maxage s’applique-t-il à un navigateur ?

    s-maxage est une directive pour les caches partagés. Un cache privé (un navigateur) ne l’utilise pas.

    Qu’est-ce que l’en-tête Age ?

    C’est le nombre de secondes, écrit par un cache intermédiaire, depuis la génération de la réponse ou sa dernière vérification auprès de l’origine. Ce calculateur l’utilise pour trouver l’âge actuel.

    Une réponse périmée disparaît-elle ou s’actualise-t-elle d’elle-même ?

    Non. Périmée signifie seulement qu’un cache doit vérifier avant de la réutiliser. Cela n’actualise pas l’écran et ne change rien sur le serveur d’origine.

    Comment puis-je vérifier une heure ?

    Le convertisseur d’horodatage Unix et le calculateur d’expression cron peuvent aider.