206

Partial Content

Offiziell
der angeforderte Teil der Ressource wurde übermittelt. Die Anfrage war erfolgreich.

Spezifikation von dem HTTP statuscode 206

Der Statuscode 206 Partial Content zeigt an, dass der Server eine Bereichsanforderung für die Zielressource erfolgreich erfüllt, indem er einen oder mehrere Teile der ausgewählten Darstellung überträgt, die den zufriedenstellenden Bereichen entsprechen, die im Range-Header-Feld der Anforderung gefunden wurden (Abschnitt 3.1).

Wenn ein einzelner Teil übertragen wird, MUSS der Server, der die 206 Partial Content-Antwort erzeugt, ein Content-Range-Header-Feld erzeugen, das beschreibt, welcher Bereich der ausgewählten Darstellung eingeschlossen ist, sowie eine Nutzlast, die aus dem Bereich besteht. Zum Beispiel:

HTTP/1.1 206 Partial Content Partial Content
Date: Wed, 15 Nov 1995 06:25:24 GMT
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif

... 26012 Bytes Teilbilddaten ...

Wenn mehrere Teile übertragen werden, MUSS der Server, der die 206 Partial Content-Antwort erzeugt, einen "multipart/byteranges"-Payload, wie in Anhang A definiert, und ein Content-Type-Header-Feld erzeugen, das den multipart/byteranges-Medientyp und seinen erforderlichen Boundary-Parameter enthält. Um Verwechslungen mit einteiligen Antworten zu vermeiden, MUSS ein Server KEIN Content-Range-Header-Feld im HTTP-Header-Bereich einer mehrteiligen Antwort erzeugen (dieses Feld wird stattdessen in jedem Teil gesendet).

Innerhalb des Header-Bereichs jedes Body-Teils in der mehrteiligen Nutzlast MUSS der Server ein Content-Range-Header-Feld erzeugen, das dem in diesem Body-Teil enthaltenen Bereich entspricht. Wenn die ausgewählte Darstellung in einer 200 (OK)-Antwort ein Content-Type-Header-Feld gehabt hätte, MUSS der Server dasselbe Content-Type-Feld im Header-Bereich jedes Body-Teils erzeugen.

Zum Beispiel:

HTTP/1.1 206 Partial Content Partial Content
Date: Wed, 15 Nov 1995 06:25:24 GMT
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
Content-Length: 1741
Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES


--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 500-999/8000


...der erste Bereich...
--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 7000-7999/8000


...der zweite Bereich
--THIS_STRING_SEPARATES--

Wenn mehrere Bereiche angefordert werden, KANN ein Server alle Bereiche zusammenfassen, die sich überschneiden oder durch eine Lücke getrennt sind, die kleiner ist als der Overhead, der durch das Senden mehrerer Teile entsteht, unabhängig von der Reihenfolge, in der die entsprechende Byte-Range-Spezifikation im empfangenen Range-Header-Feld erscheint. Da der typische Overhead zwischen den Teilen einer Multipart/Byteranges-Nutzlast etwa 80 Byte beträgt, abhängig vom Medientyp der ausgewählten Darstellung und der gewählten Länge der Boundary-Parameter, kann es weniger effizient sein, viele kleine unzusammenhängende Teile zu übertragen, als die gesamte ausgewählte Darstellung zu übertragen.

Ein Server MUSS KEINE mehrteilige Antwort auf eine Anforderung für einen einzelnen Bereich erzeugen, da ein Client, der nicht mehrere Teile anfordert, möglicherweise keine mehrteiligen Antworten unterstützt. Ein Server KANN jedoch eine Multipart/Byteranges-Nutzlast mit nur einem einzigen Körperteil erzeugen, wenn mehrere Bereiche angefordert wurden und nur ein Bereich als zufriedenstellend befunden wurde oder nur ein Bereich nach der Koaleszenz übrig blieb. Ein Client, der eine multipart/byteranges-Antwort nicht verarbeiten kann, DARF KEINE Anfrage generieren, die nach mehreren Bereichen fragt.

Wenn eine Multipart-Antwort-Payload generiert wird, SOLLTE der Server die Teile in der gleichen Reihenfolge senden, in der die entsprechende Byte-Range-Spezifikation im empfangenen Range-Header-Feld erschienen ist, unter Ausschluss der Bereiche, die als unbefriedigend eingestuft wurden oder die zu anderen Bereichen zusammengeführt wurden. Ein Client, der eine mehrteilige Antwort empfängt, MUSS das Header-Feld "Conten

Quelle / Zitat von: Spezifiziert wird der 206 Partial Content HTTP Status Code durch Abschnitt 4.1 von RFC7233

Wie kann man mit PHP einen 206-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 206 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(206) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 206 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 206 Partial Content) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 206 Partial Content
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=206
Status: 206 Partial Content
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 206 Partial Content

Browser-Kompatibilität des 206 Statuscode

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

Konstanten in Programmiersprachen

http.StatusPartialContent
Response::HTTP_PARTIAL_CONTENT
:partial_content

Blog Artikel

SEO und HTTP-Statuscodes: Eine umfassende Analyse

Die Optimierung einer Website für Suchmaschinen (SEO) ist ein komplexes Unterfangen. Einer der oft übersehenen, aber entscheidenden Aspekte für ein gutes Ranking sind HTTP-Statuscodes. Diese kleine...

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

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub