206

Partial Content

Oficiální stránky
byla přenesena požadovaná část prostředku. Požadavek byl úspěšný.

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.

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:

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

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

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

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