304

Not Modified

Officiell
Resursen behöver inte sändas på nytt eftersom ingen förändring har skett.

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:

  1. Content-Location, Date, ETag och Vary
  2. 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

pågående arbete

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:

Statuskod 304 Not Modified
Översikt
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Status: 304 Not Modified
Dessa: Network
IP-adress: XX.XX.XX.XX
Statuskod 304 Not Modified

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

http.StatusNotModified
Response::HTTP_NOT_MODIFIED
:not_modified

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...

Författare: Tony Brüser
Författare: Tony Brüser

Tony Brüser är en entusiastisk webbutvecklare med en förkärlek för HTTP-statuskoder.

LinkedInGitHub