Kalkulator for utløpstid i HTTP-cache

Skriv inn verdiene for Cache-Control, Expires, Date og Age i et svar, tidspunktet det ble mottatt og tidspunktet som skal kontrolleres. Kalkulatoren gir friskhetsperioden, den nåværende alderen og om svaret fortsatt er ferskt.

Type cache
s
Friskhetsvurdering (på tidspunktet som kontrolleres) —
Friskhetsperiode (hvor lenge svaret kan forbli ferskt; den endrer seg ikke etter hvert som tiden går)
Friskhetsperiode—
Kilde som er brukt—
Nåværende alder (tiden siden svaret ble generert; den øker etter hvert som tiden går)
Nåværende alder—
  Tilsynelatende alder (tidspunkt mottatt − Date)—
  Verdien av Age-hodet—
  Alder ved mottak (den største av de to ovenfor)—
  Tid siden det ble mottatt—
Gjenstående friskhet
Gjenstående friskhet (friskhetsperiode − nåværende alder)—
Tidspunktet det blir foreldet—

    Dette er en beregning basert på RFC 9111. Faktiske nettlesere og CDN-er oppfører seg ikke alltid nøyaktig slik standarden beskriver. Svarforsinkelsen settes til 0.

    Hva denne kalkulatoren gjør

    Den dekker én del av RFC 9111, HTTP-standarden for hurtiglagring: friskhetsberegningen. Det er delen som avgjør om et lagret svar kan gjenbrukes uten å kontrollere med opprinnelsesserveren. Validering (ETag, If-Modified-Since, 304), Vary og Cache-Control på forespørselssiden dekkes ikke.

    Friskhet er ikke en oppdatering og ikke en sletting

    At et svar er foreldet betyr bare at en cache ikke kan gjenbruke det uten å kontrollere først. Det betyr ikke at nettleserskjermen oppdateres av seg selv, og det betyr ikke at filen på opprinnelsesserveren endres eller slettes. På samme måte betyr det at et svar er ferskt ikke at filen på serveren ikke har endret seg. Expires-hodet, sier standarden, «does not imply that the original resource will change or cease to exist at, before, or after that time». Denne kalkulatoren regner bare ut tidsregningen for den hurtiglagrede kopien.

    Friskhetsperiode og nåværende alder

    Hvilken verdi som bestemmer friskhetsperioden

    Etter avsnitt 4.2.1 i RFC 9111 brukes den første som passer:

    Rekkefølge Delt cache (CDN, proxy) Privat cache (nettleser)
    1 s-maxage (s-maxage brukes ikke)
    2 max-age max-age
    3 Expires − Date Expires − Date
    4 Hvis ingen finnes, er det ingen eksplisitt utløpstid Det samme

    Slik beregnes gjeldende alder

    Formlene er fra avsnitt 4.2.3 i RFC 9111:

    Denne kalkulatoren spør ikke etter tidspunktet forespørselen ble sendt, så den setter svarforsinkelsen (tiden fra forespørselen ble sendt til svaret ble mottatt) til 0. På en forbindelse med stor forsinkelse kan den beregnede alderen bli mindre enn den virkelige. Standarden tillater også å bruke bare Age-headeren pluss forsinkelsen.

    Regler for inndata

    Andre Cache-Control-direktiver

    De brukes ikke i beregningen, men vises som merknader om gjenbruk.

    Eksempler

    Inndata Resultat
    max-age=3600, ingen Age, 1800 s etter mottak Ferskhetslevetid 3600 s, gjeldende alder 1800 s, 1800 s igjen (fersk)
    Det samme, ved nøyaktig 3600 s Gjeldende alder 3600 s. Den er lik ferskhetslevetiden, så svaret er utgått
    max-age=3600, Age=600, nettopp mottatt Gjeldende alder 600 s, 3000 s igjen
    Delt cache med s-maxage=60, max-age=3600 Ferskhetslevetid 60 s (max-age ignoreres)

    Godt å vite

    Kilder og kontroller

    Følgende ble kontrollert mot den fullstendige teksten i standardene 1. november 2026:

    Denne kalkulatoren følger disse avsnittene bare for ferskhet. At en beregning går igjennom, er ikke en påstand om at et produkt eller en server er i samsvar med standarden.

    Vanlige spørsmål

    Hva skjer når både max-age og Expires er til stede?

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

    Gjelder s-maxage for en nettleser?

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

    Hva er Age-headeren?

    Det er antall sekunder, skrevet av en cache underveis, siden svaret ble generert eller sist kontrollert hos opprinnelsesserveren. Denne kalkulatoren bruker den til å finne gjeldende alder.

    Forsvinner eller oppdateres et utgått svar av seg selv?

    Nei. Utgått betyr bare at en cache må kontrollere før den gjenbruker det. Det oppdaterer ikke skjermen og endrer ingenting på opprinnelsesserveren.

    Hvordan kan jeg kontrollere et tidspunkt?

    Unix-tidsomregneren og Cron-uttrykkskalkulatoren kan hjelpe.