206 - HTTP-Statuscodes: Partial Content

Der 206 Partial Content HTTP Status Code zeigt an, dass der Server erfolgreich eine Range Anfrage für die Zielressource beantwortet, indem ein oder mehr Teile der ausgewählten Repräsentation übertragen werden. Diese Teile korrespondieren mit den erfüllbaren Bereichen (Ranges) überein, die in der Range-Anfragekopfzeile vorgefunden wurden.

Wenn ein einzelner Teil übertragen wird, dann muss der Server, der die 206 Partial Content Antwort erzeugt, auch eine Content-Range Antwortkopfzeile setzen, die beschreibt, welcher Bereich (Range) der ausgewählten Repräsentation verschickt wird, sowie eine entsprechende Nutzlast, die diesen Bereich enthält.

Wenn mehrere Teile übertragen werden muss der Server der die 206 Partial Content Antwort erzeugt auch eine „multipart/byteranges“ Nutzlast erzeugen, sowie eine Content-Type Antwortkopfzeile mit dem Medientyp multipart/byteranges und dem benötigten Grenzparameter (boundary). Um eine Verwechslung mit einteiligen Antworten zu vermeiden, darf der Server keine Content-Range Antwortkopfzeile in einer mehrteiligen Antwort erzeugen. Stattdessen wird diese für jeden Teil einzeln gesendet.

Innerhalb des Kopfbereichs von jedem Teil einer mehrteiligen Nutzlast muss der Server entsprechend eine Content-Range Antwortkopfzeile für den Bereich, den dieses Teilstück enthält, erzeugen. Wenn die gewählte Repräsentation einen Content-Type Eintrag in einer 200 OK Antwort gehabt hätte, so soll der Server den gleichen Content-Type Eintrag für jedes Teilstück erzeugen.

Wenn mehrere Bereiche (Ranges) angefragt werden darf ein Server Bereiche zusammenführen, die sich überlappen oder die durch eine Lücke getrennt sind, welche kleiner ist als der Mehraufwand für das senden von mehreren Teilen – ungeachtet der Reihenfolge in der die zugehörigen Anfragen bzgl. der Bereiche (Ranges) in der ursprünglichen Range Anfragekopfzeile auftauchten. Da der typische Mehraufwand zwischen teilen einer multipart/byteranges Nutzlast ungefähr 80 Bytes beträgt – in Abhängigkeit davon, welcher Medientyp für die ausgewählte Repräsentation genutzt wird und der Länge für den ausgewählten Grenzparameter – kann es weniger effizient sein, viele kleine von einander getrennte Teile zu transferieren als einfach die gesamte gewählte Repräsentation.

Ein Server darf keine mehrteilige Antwort für eine Anfrage erzeugen, die nur ein Teilstück enthält, da ein Client der nicht auch mehrteilige Anfragen schickt eventuell keine mehrteiligen Antworten unterstützen kann. Dagegen darf ein Server multipart/byteranges Nutzlasten erzeugen mit nur einem einzelnen Teilstück, wenn mehrere Bereiche (Ranges) angefragt wurden und nur ein einzelner Bereich erfüllt werden konnte oder alle Bereiche zu einem gesamten Stück verschmolzen wurden. Ein Client, der nicht auch eine multipart/byteranges Antwort verarbeiten kann darf auch keine Anfrage erzeugen, die mehrere Teilstücke anfragt.

Wenn eine mehrteilige Nutzlast erzeugt wird, dann sollte der Server auch die Teilstücke in der gleichen Reihenfolge schicken, in der die Bereiche in der Range Kopfzeile der Anfrage aufgetaucht sind – ausgenommen die Bereiche, die nicht erfüllbar waren oder die mit anderen Bereichen verschmolzen wurden. Ein Client, der mehrteilige Antworten erhält, muss die Content-Range Antwortkopfzeilen in jedem Teilstück untersuchen, um herauszufinden, welcher Bereich in dem gesendeten Teilstück enthalten ist; ein Client kann sich nicht darauf verlassen, dass er die selben Bereiche erhält, die er angefragt hatte oder dass diese in der gleichen Reihenfolge zurückgegeben werden.

Wenn eine 206 Partial Content Antwort erzeugt wird, dann muss der Server die folgenden Antwortkopfzeilen zusätzlich zu den oben angegebenen erzeugen, wenn die Antwortkopfzeile auch in einer 200 OK Antwort auf die gleiche Anfrage gesetzt worden wäre: Date, Cache-Control, ETag, Expires, Content-Location, and Vary.

Wenn eine 206 Partial Content Antwort erzeugt wurde als Resultat für eine Anfrage mit If-Range Anfragekopfzeile, dann sollte der Server keine anderen Antwortkopfzeilen erzeugen, die über die oben geschilderten hinausgehen, da davon ausgegangen wird, dass der Client bereits eine vorherige Antwort erhalten hat, die diese Zeilen enthielt. Andernfalls muss der Server alle der Antwortkopfzeilen der Repräsentation erzeugen, die auch in einer 200 OK Antwort auf die gleiche Anfrage gesetzt worden wären.

Haben Sie Fragen zu 206 - HTTP-Statuscodes: Partial Content?

Unsere Online-Marketing-Agentur gibt es seit 2012 und ein Grossteil des Teams arbeitet sogar schon länger in dieser Branche. Erfahren Sie auf unserer Startseite oder unter Agentur mehr über uns. Wir dürfen Kunden in der ganzen Welt begleiten. Profitieren auch Sie von unserer Erfahrung. Verlieren Sie keine Zeit mehr, nehmen Sie mit uns kontakt auf.

Haben Sie Fragen zu diesem Thema?

Gerne helfen wir weiter.

Zum Inhalt springen