206 Partial Content

Nur ein Teil der Ressource wird zurückgegeben.

Wann du ihn verwendest

Als Antwort auf eine Range-Anfrage, etwa für Video-Streaming oder fortsetzbare Downloads.

Gut zu wissen

Server senden 206 nur, wenn der Client mit einem Range-Header danach fragt, etwa Range: bytes=0-1023, und der Server Bereiche unterstützt, angekündigt mit Accept-Ranges: bytes. Die Antwort enthält Content-Range: bytes 0-1023/146515 mit der Gesamtgröße. Safari und iOS verlangen Range-Unterstützung für Videos: Ignoriert dein Server Range und gibt 200 zurück, scheitert die MP4-Wiedergabe oft komplett.

Anfragen über das Dateiende hinaus bekommen 416. Mehrere Bereiche in einer Anfrage kommen als multipart/byteranges zurück. Bereiche beziehen sich auf die kodierten Bytes, daher verzichten Server bei Medien meist auf gzip. Prüfe hinter einem CDN, dass Teilanfragen korrekt gecacht und ausgeliefert und nicht jedes Mal an den Origin durchgereicht werden. Teste mit curl -r 0-99 -i und fortsetzbare Downloads mit curl -C - -O.

Erfolg (2xx)

2xx-Codes bedeuten Erfolg: Der Server hat die Anfrage erhalten, verstanden und angenommen.

So sieht es aus

HTTP/1.1 206 Partial Content

So sendest du ihn

Node.js / Expressres.status(206).end()
Python / Flaskreturn '', 206
nginxreturn 206;

So prüfst du ihn

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

HTTP-Statuscodes öffnen