304

Not Modified

Oficiální stránky
Zdroj není třeba znovu přenášet, protože nedošlo k žádné změně.

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:

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

probíhající práce

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:

Stavový kód 304 Not Modified
Přehled
URL: https://http-statuscode.com/errorCodeExample.php?code=304
Stav: 304 Not Modified
Tyto stránky: Network
IP adresa: XX.XX.XX.XX
Stavový kód 304 Not Modified

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

http.StatusNotModified
Response::HTTP_NOT_MODIFIED
:not_modified

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

Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser je nadšený webový vývojář se zálibou ve stavových kódech HTTP.

LinkedInGitHub