304

Not Modified

Officiel
Ressourcen behøver ikke at blive videresendt, da der ikke er sket nogen ændring

Specifikation af HTTP-statuskode 304

Statuskoden 304 Not Modified angiver, at der er modtaget en betinget GET- eller HEAD-anmodning, som ville have resulteret i et 200-svar (OK), hvis det ikke var fordi, at betingelsen blev evalueret som falsk. Med andre ord er der ikke behov for, at serveren overfører en repræsentation af målressourcen, fordi anmodningen angiver, at klienten, som gjorde anmodningen betinget, allerede har en gyldig repræsentation; serveren omdirigerer derfor klienten til at gøre brug af denne lagrede repræsentation, som om den var indholdet af et 200 (OK)-svar.

Serveren, der genererer et 304 Not Modified-svar, SKAL generere et af følgende headerfelter, som ville være blevet sendt i et 200 (OK)-svar på den samme anmodning:

  1. Content-Location, Date, ETag og Vary
  2. Cache-Control og Expires (se [CACHING])

Da målet med et 304 Not Modified-svar er at minimere informationsoverførsel, når modtageren allerede har en eller flere repræsentationer i cachen, BØR en afsender IKKE generere andre repræsentationsmetadata end de ovenfor anførte felter, medmindre de pågældende metadata findes med henblik på at styre cacheopdateringer (f.eks.g., Last-Modified kan være nyttigt, hvis svaret ikke har et ETag-felt).

Krav til en cache, der modtager et 304 Not Modified-svar, er defineret i afsnit 4.3.4 i [CACHING]. Hvis den betingede anmodning stammer fra en udgående klient, f.eks. en brugeragent med sin egen cache, der sender en betinget GET til en delt proxy, SKAL proxyen videresende 304 Not Modified-svaret til denne klient.

Et 304 Not Modified-svar afsluttes med slutningen af header-sektionen; det kan ikke indeholde indhold eller trailere.

Kilde / citat fra: HTTP-statuskoden 304 Not Modified er specificeret i afsnit 15.4.5 i RFC9110.

HTTP-protokol

igangværende arbejde

Hvordan får man en 304-statuskode med PHP?

Hvis du vil have HTTP-statuskoden 304 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test 304 HTTP-statuskoden

For at kunne vise HTTP-statuskoden (i dette tilfælde 304 Not Modified) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:

Statuskode 304 Not Modified
Oversigt
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Status: 304 Not Modified
Disse: Network
IP-adresse: XX.XX.XX.XX
Statuskode 304 Not Modified

Browserkompatibilitet for 304-statuskoden

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

Konstanter i programmeringssprog

http.StatusNotModified
Response::HTTP_NOT_MODIFIED
:not_modified

Blog-artikler

Caching og HTTP-statuskoder: Optimering af webperformance gennem intelligent caching

Webperformance og den deraf følgende brugeroplevelse er centrale aspekter for enhver hjemmesides succes. En væsentlig faktor, der påvirker denne ydeevne, er HTTP-statuskoderne, især i forbindelse m...

Forfatter: Tony Brüser
Forfatter: Tony Brüser

Tony Brüser er en entusiastisk webudvikler med en forkærlighed for HTTP-statuskoder.

LinkedInGitHub