304
Not Modified
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:
- Content-Location, Date, ETag og Vary
- 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
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:
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Status: 304 Not Modified
Disse: Network
IP-adresse: XX.XX.XX.XX
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
Eksterne links med yderligere oplysninger om HTTP-statuskode 304:
Underholdende memes om HTTP-statuskoden 304
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...