Hurtigere hjemmeside hjælp til en langsom hjemmeside

stale-if-error

`stale-if-error` er en Cache-Control-direktiv der tillader at server/CDN kan levere en udløbet cachet version hvis origin fejler. Det giver højere oppetid og mere stabil performance.

Skrevet af Kim Tetzlaff

Kort fortalt: stale-if-error giver caching-laget (browser, proxy eller CDN) lov til at sige: “hvis origin fejler, så server jeg den senest cachede version – selvom den er udløbet”.

Det handler lige så meget om oppetid og stabil brugeroplevelse som om ren hastighed.

Hvad betyder stale-if-error?

Det er en udvidelse til HTTP caching (defineret i RFC 5861). Du angiver en varighed (typisk i sekunder), som fortæller hvor længe en stale kopi må bruges ved fejl.

I praksis giver det:

  • færre “site is down”-oplevelser ved midlertidige fejl
  • bedre performance under origin-problemer (i stedet for timeouts)

Hvorfor er det vigtigt?

Performance handler ikke kun om at være hurtig når alt er godt – men også om at være forudsigelig.

På rigtige sites er der altid perioder med:

  • deploys
  • database-spikes
  • netværksproblemer
  • fejl i tredjepart eller API’er

Hvis brugeren i de perioder får en cached side, kan det være bedre end en blank fejl – især for indholdssider og guides.

Hvornår giver det mening?

Gode kandidater:

  • indholdssider (blog/guide/ordbog)
  • statiske assets (CSS/JS/billeder) hvor versionering gør “gammelt” mindre farligt

Dårlige kandidater:

  • sider med personlige data (login, konto)
  • checkout/kurv
  • sider hvor “friskhed” er kritisk (lagerstatus, priser)

Typiske fejl

1) For lang varighed uden plan

Hvis du sætter stale-if-error til dage/uger, kan du servere meget forældet indhold ved længere fejlperioder. Vælg en varighed der passer til din tolerance.

2) Brug uden at forstå variation (Vary/cookies)

Hvis en response varierer på cookies/headers, kan du ende med at servere “forkert” variant i en fejlperiode. Forstå Vary og caching-lagets regler.

3) Tro at det er en erstatning for god caching

Det er et “sikkerhedsnet”. Du har stadig brug for solide regler for Cache-Control og en god strategi for TTFB (TTFB).

Hvordan tjekker du om det virker?

Det afhænger af dit setup (CDN/reverse proxy). Men principperne er:

  • se om cached objekt eksisterer og kan serves ved origin-fejl
  • se log/headers for cache-hit
  • test kontrolleret: simuler origin-fejl og se om du får cached svar

Relaterede begreber

FAQ

Er stale-if-error det samme som stale-while-revalidate?

Nej. `stale-while-revalidate` handler om at serve stale mens man i baggrunden opdaterer cachen. `stale-if-error` handler om at serve stale kun hvis origin giver fejl eller er utilgængelig.

Kan jeg risikere at vise for gammelt indhold?

Ja, det er trade-off’et. Derfor bør du bruge det hvor 'lidt gammelt' er bedre end 'nede', og vælge en begrænset varighed.

Eksterne kilder

HTTP caching-direktiver og deres betydning i praksis.

Næste skridt fra begreb til handling

Guides og blogindlæg der matcher begrebets emne - ud fra fælles tags og sidens fokus.

Om forfatteren

Kim Tetzlaff

Kim skriver og vedligeholder indhold på hurtigere-hjemmeside.dk med fokus på målelig performance, Core Web Vitals og teknisk SEO. Målet er at gøre optimering konkret: hvad der faktisk flytter tal i feltdata, og hvordan du finder den korteste vej fra symptom til fix.

Kim Tetzlaff