Čo je odpoveď 304 Not Modified?
Kód odpovede servera HTTP 304 Not Modified znamená, že požadovaný prostriedok nebol od posledného načítania zmenený, čo znamená, že ho nie je potrebné znova prenášať. Pre prehliadače to znamená, že používateľovi sa môže zobraziť verzia prostriedku uložená v medzipamäti. Pre prehľadávače, ako je napríklad Googlebot, to znamená, že nie je potrebné stránku znovu prehľadávať, pretože sa na nej nič nezmenilo.
Ako to funguje
Tu je jednoduché vysvetlenie, ako funguje odpoveď 304 Not Modified:
-
Prvotná požiadavka Keď klient (prehliadač alebo crawler) prvýkrát požiada webový server o zdroj, server odošle požadovaný zdroj s kódom HTTP 200 OK spolu s jeho hashovým kódom, ktorý sa nazýva ETag. Klient zaznamená aj čas, kedy požiadal o stránku/zdroj.
-
Následné požiadavky Keď klient znovu požiada o prostriedok, server skontroluje hlavičky
If-None-Match
a/aleboIf-Modified-Since
od klienta. Toto je známe ako podmienená požiadavka HTTP.If-None-Match
obsahuje ETag (hash kód obsahu). Ak sa zhoduje s hodnotou na serveri, znamená to, že obsah sa nezmenil a nie je potrebné ho znova načítať (keď sa zmení obsah, zmení sa aj jeho hash kód).If-Modified-Since
obsahuje dátum a čas, kedy klient naposledy požiadal o obsah. Ak server vidí, že obsah sa od tohto dátumu nezmenil, nie je potrebné posielať prostriedok klientovi.
-
Odpoveď servera V oboch prípadoch, ak sa obsah nezmenil, server odpovie kódom 304 HTTP.
Ak sa používa If-None-Match
aj If-Modified-Since
, If-None-Match
má prednosť pred If-Modified-Since
.
Správanie prehliadača a prehľadávača
Keď prehliadač dostane od servera kód 304 Not Modified HTTP, zobrazí používateľovi verziu z vyrovnávacej pamäte, čo je jeden z kódov presmerovania na strane klienta. Pre prehľadávače prijatie odpovede 304 znamená, že sa môžu vyhnúť opätovnému stiahnutiu toho istého obsahu, čím sa šetrí šírka pásma a zdroje.
Prečo je dôležitý kód odpovede 304?
V prípade malých webových lokalít nemusia byť výhody ukladania do vyrovnávacej pamäte, ktoré poskytuje kód 304 HTTP, také významné. Pre veľké webové lokality však kód odpovede 304 ponúka značné výhody:
- Optimalizácia výkonu Využitím obsahu uloženého v medzipamäti môžu prehliadače načítať stránky rýchlejšie, čím sa zlepší celkový používateľský zážitok.
- Správa rozpočtu na prehľadávanie Pre veľké weby je správa rozpočtu na prehľadávanie kľúčová. Prehľadávač Google nebude opätovne prehľadávať stránky, ktoré sa nezmenili, čo mu umožní zamerať sa na nový a aktualizovaný obsah. To pomáha zabezpečiť, aby sa čerstvý obsah indexoval efektívnejšie.
Osvedčené postupy pre používanie 304 Nezmenené
- Nastavenie správnych hlavičiek vyrovnávacej pamäte Uistite sa, že je váš server nakonfigurovaný na odosielanie príslušných hlavičiek
ETag
aLast-Modified
. - Monitorovanie účinnosti vyrovnávacej pamäte Pravidelne kontrolujte protokoly servera, aby ste zistili, ako často sa vydávajú odpovede 304, a podľa potreby upravte zásady ukladania do vyrovnávacej pamäte.
- Optimalizácia doručovania obsahu Používajte siete na doručovanie obsahu (CDN), ktoré podporujú účinné mechanizmy ukladania do vyrovnávacej pamäte, aby ste znížili latenciu a zlepšili čas načítania.
Podrobnejšie informácie o stavových kódoch HTTP a osvedčených postupoch pre výkonnosť webu a SEO nájdete v autoritatívnych zdrojoch, ako sú Mozilla Developer Network (MDN) a Web Fundamentals od spoločnosti Google.