Vad är ett 304 Not Modified-svar?
HTTP-serverns svarskod 304 Not Modified anger att den begärda resursen inte har ändrats sedan den senast laddades, vilket innebär att det inte finns något behov av att överföra den igen. För webbläsare innebär detta att den cachade versionen av resursen kan visas för användaren. För sökrobotar, som Googlebot, innebär det att det inte finns något behov av att söka igenom sidan igen eftersom ingenting har ändrats på den.
Hur det fungerar
Här följer en enkel förklaring av hur svaret 304 Not Modified fungerar:
-
Första förfrågan När klienten (webbläsare eller crawler) begär en resurs från webbservern för första gången skickar servern den begärda resursen med en 200 OK HTTP-kod, tillsammans med dess hashkod, en så kallad ETag. Klienten registrerar också tidpunkten för när den begärde sidan/resursen.
-
Efterföljande begäranden När klienten begär resursen igen kontrollerar servern
If-None-Match
och/ellerIf-Modified-Since-rubrikerna
från klienten. Detta kallas en villkorlig HTTP-begäran.If-None-Match
innehåller ETag (innehållets hashkod). Om den matchar värdet på servern indikerar det att innehållet inte har ändrats och att det inte behöver laddas igen (när innehållet ändras ändras även dess hashkod).If-Modified-Since
innehåller det datum och den tid då klienten senast begärde innehållet. Om servern ser att innehållet inte har ändrats sedan det här datumet behöver resursen inte skickas till klienten.
-
Svar från servern I båda fallen, om innehållet inte har ändrats, svarar servern med HTTP-koden 304.
När både If-None-Match
och If-Modified-Since
används, har If-None-Match
företräde framför If-Modified-Since
.
Beteende hos webbläsare och sökrobotar
När webbläsaren tar emot HTTP-koden 304 Not Modified från servern visar den den cachade versionen för användaren, vilket gör den till en av omdirigeringskoderna på klientsidan. För sökrobotar innebär ett 304-svar att de kan undvika att ladda ner samma innehåll igen, vilket sparar bandbredd och resurser.
Varför är 304-svarskoden viktig?
För små webbplatser kanske inte fördelarna med cachelagring med HTTP-kod 304 är lika betydande. Men för stora webbplatser ger svarskoden 304 betydande fördelar:
- Prestandaoptimering Genom att utnyttja cachat innehåll kan webbläsare ladda sidor snabbare för användarna, vilket förbättrar den övergripande användarupplevelsen.
- Hantering av genomsökningsbudgeten För stora webbplatser är det avgörande att hantera genomsökningsbudgeten. Googles crawler kommer inte att genomsöka sidor som inte har ändrats, vilket gör att den kan fokusera på nytt och uppdaterat innehåll. Detta hjälper till att säkerställa att nytt innehåll indexeras mer effektivt.
Bästa praxis för användning av 304 inte modifierad
- Ange korrekta cache-rubriker Se till att servern är konfigurerad att skicka korrekta
ETag-
ochLast-Modified-rubriker
. - Övervaka cache-effektiviteten Kontrollera regelbundet serverloggarna för att se hur ofta 304-svar utfärdas och justera cachningspolicyn efter behov.
- Optimera innehållsleveransen Använd CDN-nätverk (Content Delivery Networks) som stöder effektiva cachemekanismer för att minska latensen och förbättra laddningstiderna.
Mer detaljerad information om HTTP-statuskoder och bästa praxis för webbprestanda och SEO finns i auktoritativa källor som Mozilla Developer Network (MDN) och Googles Web Fundamentals.