Hurtigere hjemmeside hjælp til en langsom hjemmeside

ETag

ETag og Last-Modified er HTTP-headers der fortæller om en ressource har ændret sig. De bruges til betinget hentning (304 Not Modified) og kan spare båndbredde og CPU.

Skrevet af Kim Tetzlaff

Kort fortalt: Når en browser allerede har en fil i cache, kan den spørge serveren: er denne stadig den samme? med If-None-Match (ETag) eller If-Modified-Since (Last-Modified). Svarer serveren 304 Not Modified, undgår I at sende hele body igen - men I betaler stadig et request.

ETag

Ofte en hash eller revision af filindholdet. Strengere end dato alene: selv hvis tidsstempel ser ens ud, fanger ETag indholdsændringer.

Last-Modified

Et tidsstempel for seneste ændring. Simpelt for statiske filer; mindre præcist for dynamisk genereret indhold hvor semantik og små ændringer skal håndteres konsistent.

Forhold til Cache-Control

  • max-age styrer hvornår klienten overhovedet skal revalidere.
  • ETag/Last-Modified styrer hvordan revalidation udføres når tiden er inde.

God strategi for versionerede assets: lange max-age + filnavne med fingerprint → sjælden revalidation. For HTML: ofte kortere max-age og bevidst revalidering for at få opdateringer ud.

Faldgruber

  • Dynamisk genererede ETags per request på tung HTML → høj CPU og dårlig cache-hit-rate.
  • CDN-lag der ikke deler ETag-konsistens med origin → unødvendige fulde downloads.
  • At tro 304 løser langsom TTFB - første byte af svaret kan stadig være dyr; se TTFB.

Relaterede begreber

FAQ

Er 304 Not Modified gratis performance?

Det sparer download af body, men der er stadig et round-trip til serveren. For immutable assets med lange max-age og fingerprintede filnavne er det ofte bedre at undgå konstant revalidation end at stole på 304.

Skal jeg bruge både ETag og Last-Modified?

Serveren vælger typisk én primær valideringsmekanisme. Følg jeres platforms anbefaling (nginx, Apache, Cloudflare) og test med DevTools at adfærden er som forventet.

Kan ETag skade caching på CDN?

Hvis edge og origin ikke er enige om nøgler eller ETag genereres dynamisk per request på tung HTML, kan I få unødige misses og CPU-kost. Afstem med CDN-dokumentation.

Hvad er forskellen på weak og strong ETag?

Strong ETags matcher byte-for-byte. Weak ETags kan være mindre præcise og bruges nogle steder hvor semantisk ækvivalens er nok - sjældent et problem på almindelige websites, men relevant for store filer og video.

Næste skridt fra begreb til handling

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

Guide

Få edge cache-hit på HTML: undgå cookies, forkert Vary og dårlige cache keys

Mange sites har CDN, men får stadig høj TTFB fordi HTML ikke caches. Lær et praktisk workflow til at få cache-hit på offentlige sider uden at servere forkert indhold.

Guide

Forbedr TTFB med caching, edge cache og hurtigere serverrespons

Lær hvordan du reducerer TTFB med page cache, edge cache, korrekt cache strategi og bedre serverrespons på HTML.

Guide

Brug Transfer-Encoding (chunked) til progressiv rendering: hurtigere første visning

Lær at finde ud af om din server eller reverse proxy buffer HTML-svar, og få streaming (chunked) til at flytte første visning og LCP i den rigtige retning.

Blog

Range request i praksis: når 206 Partial Content ikke sker (og hvad det koster)

En feltguide til at spotte når browseren forsøger at bruge Range request, men ender med at få hele filer retur (200 i stedet for 206). Lær at se det i DevTools og ret fejl i proxy/CDN/origin.

Blog

Reverse proxy og TTFB: sådan finder du cache-, TLS- og routing-fejl i praksis

Reverse proxy-laget kan være årsagen til høj TTFB, mystiske cache misses og 502/504-fejl. Lær hvad du skal kigge efter i headers og waterfall, og få et praktisk debug-flow.

Blog

Vary-header og caching: undgå forkert indhold og lav cache-hit-rate

Vary bestemmer hvornår caches skal gemme flere varianter af samme URL (fx gzip vs brotli eller dansk vs engelsk). Lær de typiske fejl, og hvordan du tester med headers og curl.

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