HTTP Status 206 - Partial Content

Der HTTP-Status-Code 206 Partial Content signalisiert, dass der Server nur einen Teil der angeforderten Resource liefert. Client hat Range Header gesendet, Server antwortet mit spezifischem Byte-Range. Essential für Video-Streaming, Resume-Downloads und große File-Downloads.

Typ

Response-Status-Code

Syntax

Der Status Code wird mit Content-Range Header zurückgegeben, der gelieferten Byte-Range anzeigt.

http
HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1023/5000

Direktiven

Der 206 Partial Content Status Code wird für Range-Requests verwendet.

Range Request
Client sendet Range Header (z.B. Range: bytes=0-1023), um nur Teil der Resource anzufordern. Server antwortet mit 206 und Content-Range Header, der gelieferten Range und Total Size anzeigt.
Content-Range Header
Response muss Content-Range Header enthalten mit Format "bytes start-end/total". Zeigt gelieferten Byte-Range und Gesamt-Resource-Größe an.
Resume Downloads
Ermöglicht unterbrochene Downloads fortzusetzen. Client fordert Bytes ab letzter Position an, Server liefert Rest. Browser und Download-Manager nutzen dies automatisch.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für Status 206.

Beispiel 1 Video Streaming Initial Chunk

http
GET /videos/movie.mp4 HTTP/1.1
Host: cdn.example.com
Range: bytes=0-1048575

HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1048575/52428800
Content-Length: 1048576
Content-Type: video/mp4
Accept-Ranges: bytes

[1MB video data]

Beispiel 2 Resume Download from Position

http
GET /files/ubuntu.iso HTTP/1.1
Host: downloads.example.com
Range: bytes=524288000-

HTTP/1.1 206 Partial Content
Content-Range: bytes 524288000-1073741823/1073741824
Content-Length: 549453824
ETag: "abc123"

[Rest of ISO file]

Beispiel 3 PDF Page Preview

http
GET /documents/report.pdf HTTP/1.1
Host: docs.example.com
Range: bytes=0-102399

HTTP/1.1 206 Partial Content
Content-Range: bytes 0-102399/5242880
Content-Type: application/pdf
Cache-Control: public, max-age=86400

[First 100KB of PDF]

Video Streaming Range Request Flow

Video Streaming mit Range Requests und 206 Partial Content

Vorteile für die Systemarchitektur

  • Bandwidth Efficiency: Client lädt nur benötigte Byte-Ranges, nicht gesamte File. Essential für Video-Streaming (adaptive Bitrate) und große Downloads. Spart CDN-Kosten und Mobile-Datenvolumen.
  • Improved Performance: Resume-Downloads vermeiden Re-Download bei Connection-Failure. Video-Player können optimal seeken ohne komplettes File zu laden. Reduziert Initial Load Time.
  • Scalable Streaming: CDN-Edge-Server können Range-Requests effizient cachen. Partial Content ermöglicht parallele Downloads (multi-threaded Download-Manager splitten File in Ranges).

Spezifikation

RFC 9110, Section 15.3.7 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-206-partial-content

Weitere Spezifikationen

Range Header, Content-Range Header, Accept-Ranges Header