Hurtigere hjemmeside hjælp til en langsom hjemmeside

Client Hints

Client Hints er HTTP-headere der kan fortælle serveren om brugerens enhed og kontekst (fx DPR og viewport), så du kan servere mere passende billeder – men de påvirker også caching og Vary.

Skrevet af Kim Tetzlaff

Kort fortalt: Client Hints er HTTP-headere der gør det muligt for browseren at fortælle serveren noget om konteksten (fx device pixel ratio, viewport-bredde, understøttede formater), så serveren kan sende en bedre variant af en ressource – typisk et billede. Det kan give hurtigere sider, men det kan også gøre caching mere kompleks.

Hvad betyder Client Hints?

Når en browser anmoder om en ressource, kan den (hvis du har bedt om det) sende ekstra information som headers. Eksempler på hints du ofte møder i praksis:

  • DPR: device pixel ratio (2x på retina osv.)
  • Viewport Width (fx til at vælge billedstørrelse)
  • Sec-CH-UA-familien: kontrollerede hints om browser/brand/platform

Nogle hints er “opt-in”: browseren sender dem først når serveren har sagt “jeg vil gerne have disse hints” (se Accept-CH).

Hvorfor er det vigtigt?

Billeder: mindre spild, bedre LCP

Hvis du serverer billeder dynamisk (fx via Image CDN), kan hints hjælpe dig med at ramme:

  • rigtige pixel-dimensioner (ikke for store)
  • rigtige formater (WebP/AVIF hvor det giver mening)

Det kan flytte både downloadtid og oplevet hastighed, især når hero-billedet er LCP-elementet (se LCP og srcset og sizes).

Men: caching kan blive sværere

Når du begynder at variere responses baseret på hints, ender du hurtigt i de klassiske problemer:

  • du har flere varianter pr. URL
  • cache-nøglen bliver større
  • hitrate falder

Det er især relevant hvis du har CDN/edge caching (se Edge caching og Vary).

Eksempel fra praksis (billeder)

Forestil dig at du serverer samme billede-URL til alle:

/img/hero.jpg

Uden hints kan du let komme til at sende for stort billede til små skærme, eller for lille til high-DPR.

Med en image-service kan du i stedet bruge hints til at vælge en variant der passer – men du skal være bevidst om hvor mange varianter du skaber, ellers taber du caching.

Typiske fejl og misforståelser

1) Variér på alt

Hvis du varierer per viewport-pixel, skaber du næsten uendeligt mange varianter. Det er sjældent det værd.

En bedre strategi er at normalisere til få buckets (fx 320/640/960/1280) og kun variere på det der reelt giver værdi.

2) Glemme cache-konsekvensen (Vary)

Når en response afhænger af hints, skal caching-lagene vide det. Ellers risikerer du at servere forkert variant til forkert bruger.

Det er netop derfor Vary findes (se Vary).

3) Bruge hints til “personalisering”

Client Hints er ikke til at personalisere indhold pr. bruger. Det bliver hurtigt en cache-fælde og kan skabe SEO- og canonical-problemer hvis varianter ikke er kontrolleret.

Relaterede begreber og næste skridt

  • Accept-CH – hvordan du beder browseren sende hints
  • Vary – cache-korrekthed når responses varierer
  • Image CDN – typisk hvor hints bruges i praksis
  • srcset og sizes – ofte et bedre/renere valg end server-variation for almindelige sites

FAQ

Er Client Hints kun relevant for billeder?

Nej, men billeder er det mest almindelige use-case. Client Hints kan også bruges til at servere varianter af CSS/JS eller indhold, men så bliver cache- og SEO-risikoen typisk større.

Hvorfor kan Client Hints gøre caching dårligere?

Fordi du pludselig har flere varianter af samme URL. Hvis du varierer for bredt (fx per viewport-pixel), falder cache-hit-rate, og du risikerer flere misses og højere TTFB.

Hvad er forskellen på 'Client Hints' og 'UA Client Hints'?

Client Hints er konceptet med hints-headere. UA Client Hints handler specifikt om at erstatte dele af den klassiske User-Agent med mere kontrollerede, privacy-venlige hints (fx `Sec-CH-UA*`).

Eksterne kilder

Kilder til både konceptet og de praktiske headers.

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