HTTP Accept-Ranges Header

Der HTTP-Header Accept-Ranges ist ein Response-Header, mit dem der Server angibt, ob er Range-Requests (Teilanforderungen) für eine Ressource unterstützt. Dies ermöglicht das Herunterladen oder Streamen von Ressourcen in mehreren Teilstücken.

Typ

Response-Header

Syntax

Der Header gibt die unterstützte Range-Einheit an oder signalisiert fehlende Unterstützung.

http
Accept-Ranges: bytes
Accept-Ranges: none

Direktiven

Die Direktiven definieren die Art der unterstützten Range-Requests.

bytes
Server unterstützt Byte-Range-Requests, ermöglicht das Anfordern spezifischer Byte-Bereiche einer Ressource.
none
Server unterstützt keine Range-Requests, Ressource muss vollständig übertragen werden.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Accept-Ranges-Header.

Beispiel 1 Video Streaming Server

http
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: video/mp4
Content-Length: 52428800

Server unterstützt Byte-Ranges für effizientes Video-Streaming mit Seek-Funktionalität.

Beispiel 2 Statischer File Server

http
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: application/pdf

PDF-Dateien können in Teilen heruntergeladen werden, ermöglicht Resume-Funktionalität.

Beispiel 3 Dynamische Ressource

http
HTTP/1.1 200 OK
Accept-Ranges: none
Content-Type: application/json

Range Request Flow

Range Request Flow für partielle Downloads

Vorteile für die Systemarchitektur

  • Download-Resume: Unterbrochene Downloads können fortgesetzt werden ohne Neustart
  • Streaming-Effizienz: Videos und Audio können ab beliebiger Position abgespielt werden
  • Bandbreitenoptimierung: Nur benötigte Teile großer Dateien werden übertragen

Spezifikation

RFC 9110, Section 14.3 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-accept-ranges

Weitere Spezifikationen

Range Header, Content-Range Header, 206 Partial Content