Beregner for HTTP-cache-udløb

Indtast værdierne for Cache-Control, Expires, Date og Age for et svar, tidspunktet for modtagelsen og tidspunktet for kontrollen. Beregneren giver friskhedsperioden, den aktuelle alder og om svaret stadig er frisk.

Type cache
s
Friskhedsvurdering (på kontroltidspunktet) —
Friskhedsperiode (hvor længe svaret kan forblive frisk; den ændrer sig ikke, efterhånden som tiden går)
Friskhedsperiode—
Anvendt kilde—
Aktuel alder (tiden siden svaret blev genereret; den vokser, efterhånden som tiden går)
Aktuel alder—
  Tilsyneladende alder (modtagelsestidspunkt − Date)—
  Værdien af Age-headeren—
  Alder ved modtagelsen (den største af de to ovenfor)—
  Tid siden modtagelsen—
Resterende friskhed
Resterende friskhed (friskhedsperiode − aktuel alder)—
Tidspunkt, hvor det bliver forældet—

    Dette er en beregning baseret på RFC 9111. Rigtige browsere og CDN'er opfører sig ikke altid præcis, som standarden beskriver. Svarforsinkelsen sættes til 0.

    Hvad denne beregner gør

    Den dækker én del af RFC 9111, HTTP-standarden for caching: friskhedsberegningen. Det er den del, der afgør, om et gemt svar må genbruges uden at kontrollere med oprindelsesserveren. Validering (ETag, If-Modified-Since, 304), Vary og Cache-Control på anmodningssiden er ikke dækket.

    Friskhed er ikke en opdatering og ikke en sletning

    At et svar er forældet betyder kun, at en cache ikke må genbruge det uden først at kontrollere. Det betyder ikke, at browserens skærm opdateres af sig selv, og det betyder ikke, at filen på oprindelsesserveren ændres eller slettes. På samme måde betyder det, at et svar er frisk, ikke, at filen på serveren ikke er ændret. Om Expires-headeren siger standarden, at den "does not imply that the original resource will change or cease to exist at, before, or after that time". Denne beregner udregner kun tidsaritmetikken for den cachede kopi.

    Friskhedsperiode og aktuel alder

    Hvilken værdi der fastsætter friskhedsperioden

    Efter afsnit 4.2.1 i RFC 9111 bruges det første match:

    Rækkefølge Delt cache (CDN, proxy) Privat cache (browser)
    1 s-maxage (s-maxage bruges ikke)
    2 max-age max-age
    3 Expires − Date Expires − Date
    4 Hvis ingen er til stede, er der ingen eksplicit udløbstid Det samme

    Sådan beregnes den aktuelle alder

    Formlerne er fra afsnit 4.2.3 i RFC 9111:

    Denne beregner spørger ikke om tidspunktet, hvor forespørgslen blev sendt, så den sætter svarforsinkelsen (tiden fra afsendelse af forespørgslen til modtagelse af svaret) til 0. Ved en forbindelse med stor forsinkelse kan den beregnede alder være mindre end den reelle. Standarden tillader også at bruge Age-headeren plus forsinkelsen alene.

    Regler for indtastning

    Andre Cache-Control-direktiver

    De bruges ikke i beregningen, men vises som bemærkninger om genbrug.

    Eksempler

    Indtastning Resultat
    max-age=3600, ingen Age, 1.800 s efter modtagelsen Friskhedslevetid 3.600 s, aktuel alder 1.800 s, 1.800 s tilbage (frisk)
    Det samme, ved præcis 3.600 s Aktuel alder 3.600 s. Den er lig med friskhedslevetiden, så svaret er forældet
    max-age=3600, Age=600, netop modtaget Aktuel alder 600 s, 3.000 s tilbage
    Delt cache med s-maxage=60, max-age=3600 Friskhedslevetid 60 s (max-age ignoreres)

    Godt at vide

    Kilder og kontrol

    Følgende blev kontrolleret mod standardernes fulde tekst den 1. november 2026:

    Denne beregner følger disse afsnit kun for friskhedens vedkommende. At en beregning består, er ikke en påstand om, at et produkt eller en server overholder standarden.

    Ofte stillede spørgsmål

    Hvad sker der, når både max-age og Expires er til stede?

    max-age har forrang, og Expires ignoreres (RFC 9111, afsnit 5.3).

    Gælder s-maxage for en browser?

    s-maxage er et direktiv for delte cacher. En privat cache (en browser) bruger det ikke.

    Hvad er Age-headeren?

    Det er antallet af sekunder, skrevet af en cache undervejs, siden svaret blev genereret eller sidst kontrolleret hos oprindelsesserveren. Denne beregner bruger det til at finde den aktuelle alder.

    Forsvinder eller opdateres et forældet svar af sig selv?

    Nej. Forældet betyder blot, at en cache skal kontrollere svaret, før det genbruges. Det opdaterer ikke skærmen og ændrer intet på oprindelsesserveren.

    Hvordan kan jeg kontrollere et tidspunkt?

    Unix-tidsstempel-omregneren og Cron-udtryksberegneren kan hjælpe.