206
Partial Content
Specifikace stavového kódu HTTP 206
Stavový kód 206 Partial Content označuje, že server úspěšně plní požadavek na rozsah cílového prostředku přenosem jedné nebo více částí vybraného zobrazení, které odpovídají splnitelným rozsahům nalezeným v poli záhlaví Range požadavku (oddíl 3.1).
Pokud je přenášena jediná část, server generující odpověď 206 Partial Content MUSÍ vygenerovat pole záhlaví Content-Range popisující, jaký rozsah vybraného zobrazení je uzavřen, a užitečné zatížení sestávající z tohoto rozsahu. Například:
HTTP/1.1 206 Partial Content Částečný obsah
Datum:
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif
... 26012 bajtů částečných obrazových dat ...
Pokud se přenáší více částí, MUSÍ server generující odpověď 206 Partial Content vygenerovat užitečné zatížení "multipart/byteranges", jak je definováno v dodatku A, a pole hlavičky Content-Type obsahující typ média multipart/byteranges a jeho požadovaný hraniční parametr. Aby se předešlo záměně s jednovětými odpověďmi, NESMÍ server generovat pole záhlaví Content-Range v části záhlaví HTTP vícevěté odpovědi (toto pole bude místo toho odesláno v každé části).
V oblasti záhlaví každé části těla v zátěži více částí MUSÍ server generovat pole záhlaví Content-Range odpovídající rozsahu, který je v této části těla uzavřen. Pokud by vybraná reprezentace měla v odpovědi 200 (OK) pole záhlaví Content-Type, MUSÍ server v oblasti záhlaví každé části těla vygenerovat stejné pole Content-Type.
Příklad:
HTTP/1.1 206 Partial Content Částečný obsah
Datum:
Content-Length: 1741
Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 500-999/8000
...první rozsah...
--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 7000-7999/8000
...druhý rozsah
--THIS_STRING_SEPARATES--
Pokud je požadováno více rozsahů, server MŮŽE sloučit všechny rozsahy, které se překrývají nebo které jsou odděleny mezerou menší, než je režie odeslání více částí, bez ohledu na pořadí, v jakém se příslušné specifikace rozsahu bajtů objevily v přijatém poli záhlaví Range. Vzhledem k tomu, že typická režie mezi částmi užitečného zatížení multipart/byteranges je přibližně 80 bajtů v závislosti na typu média vybrané reprezentace a zvolené délce hraničního parametru, může být přenos mnoha malých nesouvislých částí méně efektivní než přenos celé vybrané reprezentace.
Server NESMÍ generovat odpověď na požadavek na jeden rozsah obsahující více částí, protože klient, který nepožaduje více částí, nemusí podporovat odpovědi obsahující více částí. Server však MŮŽE vygenerovat užitečné zatížení multipart/byteranges pouze s jednou částí těla, pokud bylo požadováno více rozsahů a pouze jeden rozsah byl shledán splnitelným nebo po koalescenci zůstal pouze jeden rozsah. Klient, který nemůže zpracovat odpověď typu multipart/byteranges, NESMÍ generovat požadavek, který požaduje více rozsahů.
Pokud je generováno užitečné zatížení vícedílné odpovědi, MUSÍ server odeslat jednotlivé části ve stejném pořadí, v jakém se odpovídající specifikace rozsahu bajtů objevila v přijatém poli záhlaví Range, s vyloučením těch rozsahů, které byly považovány za nesplnitelné nebo které byly sloučeny do jiných rozsahů. Klient, který obdrží vícedílnou odpověď, MUSÍ zkontrolovat pole záhlaví Content-Range přítomné v každé části těla, aby zjistil, který rozsah je v této části těla obsažen; klient se nemůže spoléhat na to, že obdrží stejné rozsahy, které požadoval, ani na stejné pořadí, které požadoval. Při generování odpovědi 206 Partial Content MUSÍ server kromě výše požadovaných polí hlavičky vygenerovat následující pole, pokud je pole
Zdroj / Citace z: Stavový kód 206 Partial Content HTTP je specifikován v oddílu 4.1 oddílu RFC7233.
Protokol HTTP
Jak vyhodit stavový kód 206 pomocí PHP?
Pro zobrazení stavového kódu HTTP 206 na webové stránce lze použít funkci PHP http_response_code. Syntaxe je následující: http_response_code(206) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testování stavového kódu HTTP 206
Aby bylo možné zobrazit stavový kód HTTP (v tomto případě 206 Partial Content) 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=206
Stav: 206 Partial Content
Tyto stránky: Network
IP adresa: XX.XX.XX.XX
Kompatibilita stavového kódu 206 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.StatusPartialContent
Response::HTTP_PARTIAL_CONTENT
:partial_content
Externí odkazy s dalšími informacemi o stavovém kódu HTTP 206:
Zábavné memy o stavovém kódu HTTP 206
Články na blogu
SEO a stavové kódy HTTP: Komplexní analýza
Optimalizace webových stránek pro vyhledávače (SEO) je složitý úkol. Jedním z často přehlížených, ale pro dobré hodnocení klíčových aspektů jsou stavové kódy HTTP. Tyto malé třímístné kódy informuj...