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 ContentSo sendest du ihn
| Node.js / Express | res.status(206).end() |
|---|---|
| Python / Flask | return '', 206 |
| nginx | return 206; |
So prüfst du ihn
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/