304
Not Modified
Specifikace stavového kódu HTTP 304
Stavový kód 304 Not Modified označuje, že byl přijat podmíněný požadavek GET nebo HEAD a výsledkem by byla odpověď 200 (OK), nebýt toho, že podmínka byla vyhodnocena jako false. Jinými slovy, není třeba, aby server přenášel reprezentaci cílového prostředku, protože požadavek naznačuje, že klient, který podmíněný požadavek zadal, již má platnou reprezentaci; server tedy přesměrovává klienta, aby tuto uloženou reprezentaci využil, jako by byla obsahem odpovědi 200 (OK).
Server generující odpověď 304 Not Modified MUSÍ vygenerovat některé z následujících polí záhlaví, které by bylo odesláno v odpovědi 200 (OK) na stejný požadavek:
- Content-Location, Date, ETag a Vary
- Cache-Control a Expires (viz [CACHING])
Protože cílem odpovědi 304 Not Modified je minimalizovat přenos informací, když příjemce již má jednu nebo více reprezentací uložených v mezipaměti, odesílatel NESMÍ generovat jiná metadata reprezentace než výše uvedená pole, pokud tato metadata neexistují za účelem řízení aktualizací mezipaměti (např.g., Last-Modified může být užitečné, pokud odpověď neobsahuje pole ETag).
Požadavky na mezipaměť, která obdrží odpověď 304 Not Modified, jsou definovány v části 4.3.4 dokumentu [CACHING]. Pokud podmíněný požadavek pochází od odchozího klienta, například od uživatelského agenta s vlastní mezipamětí, který odesílá podmíněný požadavek GET sdílenému proxy serveru, pak proxy server MUSÍ odpověď 304 Not Modified předat tomuto klientovi.
Odpověď 304 Not Modified je ukončena koncem sekce hlaviček; nesmí obsahovat obsah ani upoutávky.
Zdroj / Citace z: Stavový kód 304 Not Modified HTTP je specifikován v oddílu 15.4.5 oddílu RFC9110.
Protokol HTTP
Jak vyhodit stavový kód 304 pomocí PHP?
Pro zobrazení stavového kódu HTTP 304 na webové stránce lze použít funkci PHP http_response_code. Syntaxe je následující: http_response_code(304) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testování stavového kódu HTTP 304
Aby bylo možné zobrazit stavový kód HTTP (v tomto případě 304 Not Modified) a další informace na straně klienta, je třeba otevřít vývojovou konzolu pomocí klávesy F12. Poté přejděte na kartu "Síť". Nyní lze stránku otevřít, webová stránka (příklad index.php) by měla být viditelná na kartě sítě. Ta musí být vybrána a poté musí být vybrána sekce Herder. Uživatel pak uvidí následující výsledek:
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Stav: 304 Not Modified
Tyto stránky: Network
IP adresa: XX.XX.XX.XX
Kompatibilita stavového kódu 304 s prohlížeči
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 |
Konstanty v programovacích jazycích
Externí odkazy s dalšími informacemi o stavovém kódu HTTP 304:
Zábavné memy o stavovém kódu HTTP 304
Články na blogu
Ukládání do mezipaměti a stavové kódy HTTP: Optimalizace výkonu webu pomocí inteligentního ukládání do mezipaměti
Výkon webu a z něj plynoucí uživatelský zážitek jsou ústředními aspekty úspěchu jakéhokoli webu. Významným faktorem ovlivňujícím tento výkon jsou stavové kódy HTTP, zejména v souvislosti se strateg...