Hvad er et 304 Not Modified-svar?
HTTP-serverens svarkode 304 Not Modified angiver, at den ønskede ressource ikke er blevet ændret siden sidste gang, den blev indlæst, hvilket betyder, at der ikke er behov for at overføre den igen. For browsere betyder det, at den cachelagrede version af ressourcen kan vises til brugeren. For crawlere, såsom Googlebot, betyder det, at der ikke er behov for at gencrawle siden, fordi der ikke er ændret noget på den.
Sådan fungerer det
Her er en enkel forklaring på, hvordan 304 Not Modified-svaret fungerer:
-
Første anmodning Når klienten (browser eller crawler) anmoder om en ressource fra webserveren for første gang, sender serveren den anmodede ressource med en 200 OK HTTP-kode sammen med dens hashkode, kaldet ETag. Klienten registrerer også det tidspunkt, hvor den anmodede om siden/ressourcen.
-
Efterfølgende anmodninger Når klienten anmoder om ressourcen igen, kontrollerer serveren
If-None-Match
og/ellerIf-Modified-Since-overskrifterne
fra klienten. Dette er kendt som en betinget HTTP-anmodning.If-None-Match
indeholder ETag (indholdets hashkode). Hvis den matcher værdien på serveren, betyder det, at indholdet ikke har ændret sig, og at det ikke er nødvendigt at indlæse det igen (når indholdet ændrer sig, gør hash-koden det også).If-Modified-Since
indeholder den dato og det klokkeslæt, hvor klienten sidst anmodede om indholdet. Hvis serveren kan se, at indholdet ikke har ændret sig siden denne dato, er det ikke nødvendigt at sende ressourcen til klienten.
-
Serverrespons I begge tilfælde, hvis indholdet ikke er ændret, svarer serveren med HTTP-koden 304.
Når både If-None-Match
og If-Modified-Since
bruges, har If-None-Match
forrang over If-Modified-Since
.
Browser- og crawleradfærd
Når browseren modtager HTTP-koden 304 Not Modified fra serveren, vil den vise brugeren den cachelagrede version, hvilket gør den til en af omdirigeringskoderne på klientsiden. For crawlere betyder modtagelsen af et 304-svar, at de kan undgå at downloade det samme indhold igen, hvilket sparer båndbredde og ressourcer.
Hvorfor er 304-svarskoden vigtig?
For små hjemmesider er fordelene ved caching, som 304 HTTP-koden giver, måske ikke så vigtige. Men for store hjemmesider giver 304-svarskoden betydelige fordele:
- Optimering af ydeevne Ved at udnytte cachelagret indhold kan browsere indlæse sider hurtigere for brugerne, hvilket forbedrer den samlede brugeroplevelse.
- Styring af crawl-budgettet For store websites er det afgørende at styre crawl-budgettet. Googles crawler vil ikke gencrawle sider, der ikke har ændret sig, så den kan fokusere på nyt og opdateret indhold. Det er med til at sikre, at nyt indhold indekseres mere effektivt.
Bedste praksis for brug af 304 Ikke ændret
- Indstil korrekte cache-headere Sørg for, at din server er konfigureret til at sende passende
ETag-
ogLast-Modified-headere
. - Overvåg cache-effektiviteten Tjek regelmæssigt dine serverlogs for at se, hvor ofte der udsendes 304-svar, og juster cache-politikkerne efter behov.
- Optimer indholdslevering Brug indholdsleveringsnetværk (CDN'er), der understøtter effektive caching-mekanismer for at reducere ventetiden og forbedre indlæsningstiden.
For mere detaljerede oplysninger om HTTP-statuskoder og bedste praksis for webperformance og SEO henvises til autoritative kilder som Mozilla Developer Network (MDN) og Google's Web Fundamentals.