Co je odpověď 304 Not Modified?
Kód odpovědi serveru HTTP 304 Not Modified znamená, že požadovaný prostředek nebyl od posledního načtení změněn, což znamená, že není třeba jej znovu přenášet. Pro prohlížeče to znamená, že se uživateli může zobrazit verze prostředku uložená v mezipaměti. Pro vyhledávače, jako je například Googlebot, to znamená, že není třeba stránku znovu načítat, protože se na ní nic nezměnilo.
Jak to funguje
Zde je jednoduché vysvětlení, jak funguje odpověď 304 Not Modified:
-
Počáteční požadavek Když klient (prohlížeč nebo crawler) poprvé požádá webový server o zdroj, odešle server požadovaný zdroj s kódem HTTP 200 OK a jeho hash kódem, který se nazývá ETag. Klient také zaznamená čas, kdy o stránku/zdroj požádal.
-
Následné požadavky Když klient znovu požádá o prostředek, server zkontroluje hlavičky
If-None-Match
a/neboIf-Modified-Since
od klienta. Tento postup se označuje jako podmíněný požadavek HTTP.If-None-Match
obsahuje ETag (hash kód obsahu). Pokud se shoduje s hodnotou na serveru, znamená to, že se obsah nezměnil a není třeba jej znovu načítat (když se změní obsah, změní se i jeho hash kód).If-Modified-Since
obsahuje datum a čas, kdy klient naposledy požádal o obsah. Pokud server vidí, že se obsah od tohoto data nezměnil, není třeba prostředek klientovi odesílat.
-
Odpověď serveru V obou případech, pokud se obsah nezměnil, odpoví server kódem 304 HTTP.
Pokud jsou použity obě funkce If-None-Match
a If-Modified-Since
, má If-None-Match
přednost před If-Modified-Since
.
Chování prohlížeče a prohlížeče Crawler
Když prohlížeč obdrží od serveru kód 304 Not Modified HTTP, zobrazí uživateli verzi z mezipaměti, což je jeden z kódů přesměrování na straně klienta. Pro prohlížeče, které obdrží odpověď 304, to znamená, že se mohou vyhnout opětovnému stahování stejného obsahu, čímž se šetří šířka pásma a zdroje.
Proč je kód odpovědi 304 důležitý?
U malých webových stránek nemusí být přínos kódu 304 HTTP pro ukládání do mezipaměti tak významný. Pro velké webové stránky však kód odpovědi 304 nabízí značné výhody:
- Optimalizace výkonu Využitím obsahu uloženého v mezipaměti mohou prohlížeče načítat stránky rychleji, což zlepšuje celkový uživatelský zážitek.
- Správa rozpočtu na procházení Pro velké weby je správa rozpočtu na procházení klíčová. Prohlížeč Google nebude znovu procházet stránky, které se nezměnily, což mu umožní zaměřit se na nový a aktualizovaný obsah. To pomáhá zajistit, aby byl čerstvý obsah indexován efektivněji.
Osvědčené postupy pro používání 304 Neupraveno
- Nastavení správných hlaviček mezipaměti Zkontrolujte, zda je server nakonfigurován tak, aby odesílal příslušné hlavičky
ETag
aLast-Modified
. - Sledování efektivity mezipaměti Pravidelně kontrolujte protokoly serveru, abyste zjistili, jak často jsou vydávány odpovědi 304, a podle potřeby upravte zásady ukládání do mezipaměti.
- Optimalizace doručování obsahu Používejte sítě pro doručování obsahu (CDN), které podporují účinné mechanismy ukládání do mezipaměti, abyste snížili latenci a zlepšili dobu načítání.
Podrobnější informace o stavových kódech HTTP a osvědčených postupech pro výkonnost webu a SEO naleznete v autoritativních zdrojích, jako jsou Mozilla Developer Network (MDN) a Web Fundamentals společnosti Google.