304
Not Modified
Specifikation av HTTP-statuskoden 304
Statuskoden 304 Not Modified anger att en villkorlig GET- eller HEAD-förfrågan har tagits emot och skulle ha resulterat i ett 200-svar (OK) om det inte vore för att villkoret var falskt. Med andra ord finns det inget behov för servern att överföra en representation av målresursen eftersom begäran visar att klienten, som gjorde begäran villkorlig, redan har en giltig representation. Servern omdirigerar därför klienten till att använda den lagrade representationen som om den vore innehållet i ett 200 (OK)-svar.
Den server som genererar ett 304 Not Modified-svar MÅSTE generera något av följande rubrikfält som skulle ha skickats i ett 200 (OK)-svar på samma begäran:
- Content-Location, Date, ETag och Vary
- Cache-Control och Expires (se [CACHING])
Då målet med ett 304 Not Modified-svar är att minimera informationsöverföringen när mottagaren redan har en eller flera cachelagraferade representationer, bör en avsändare INTE generera andra representationsmetadata än de ovan angivna fälten, såvida inte dessa metadata finns i syfte att vägleda cacheuppdateringar (t.ex.g., Last-Modified kan vara användbart om svaret inte har ett ETag-fält).
Krav på en cache som tar emot ett 304 Not Modified-svar definieras i avsnitt 4.3.4 i [CACHING]. Om den villkorliga begäran har sitt ursprung i en utgående klient, t.ex. en användaragent med en egen cache som skickar en villkorlig GET till en delad proxy, bör proxyn vidarebefordra 304 Not Modified-svaret till den klienten.
Ett 304 Not Modified-svar avslutas med slutet av headersektionen; det kan inte innehålla innehåll eller trailers.
Källa / Citat från: HTTP-statuskoden 304 Not Modified anges i avsnitt 15.4.5 i RFC9110.
HTTP-protokoll
Hur skickar man en 304-statuskod med PHP?
För att kasta HTTP-statuskoden 304 på en webbsida kan PHP-funktionen http_response_code användas. Syntaxen är följande: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testa HTTP-statuskoden 304
För att kunna visa HTTP-statuskoden (i det här fallet 304 Not Modified) och annan information på klientsidan måste utvecklingskonsolen öppnas med F12. Navigera sedan till fliken "Network" (nätverk). Nu kan sidan öppnas, webbplatsen (exempel index.php) ska vara synlig i fliken nätverk. Denna måste väljas och sedan måste avsnittet Herder väljas. Användaren kommer då att se följande resultat:
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Status: 304 Not Modified
Dessa: Network
IP-adress: XX.XX.XX.XX
Webbläsarnas kompatibilitet med statuskoden 304
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 programmeringsspråk
Externa länkar med ytterligare information om HTTP-statuskoden 304:
Underhållande memes om HTTP-statuskoden 304
Bloggartiklar
Cachelagring och HTTP-statuskoder: Optimera webbprestanda genom intelligent cachning
Webbprestanda och den resulterande användarupplevelsen är centrala aspekter för framgången för alla webbplatser. En viktig faktor som påverkar denna prestanda är HTTP-statuskoderna, särskilt i samb...