206 Partial Content répond à une requête comportant un en-tête Range, par exemple Range: bytes=0-1048575, en n’envoyant que la partie demandée de la ressource. Une plage unique est décrite par un en-tête Content-Range comme bytes 0-1048575/52428800 ; plusieurs plages sont envoyées ensemble dans un corps multipart/byteranges.
Les requêtes de plage permettent aux lecteurs audio et vidéo de se déplacer dans un fichier sans le télécharger entièrement, aux gestionnaires de téléchargement de reprendre un téléchargement interrompu et aux visionneuses PDF de charger des pages isolées. Les serveurs annoncent cette prise en charge avec Accept-Ranges: bytes. Les clients utilisent If-Range pour s’assurer que les parties qu’ils assemblent proviennent de la même version du fichier.
Une réponse 206 peut être mise en cache de manière heuristique, et les caches peuvent combiner les plages qu’ils ont stockées.
Exemple de réponse
HTTP/1.1 206 Partial Content
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: video/mp4
Content-Range: bytes 0-1048575/52428800
Content-Length: 1048576
Accept-Ranges: bytes
ETag: "a3f1-3200000"
[first 1,048,576 bytes of the video] SEO et vérification des redirections
Les robots d’exploration demandent normalement des documents complets, et les pages doivent leur renvoyer 200. Un 206 n’apparaît lors d’une vérification des redirections que si un en-tête Range a été ajouté à la requête, par exemple comme en-tête de requête personnalisé. Un serveur qui envoie 206 à des requêtes sans en-tête Range est mal configuré.
Causes fréquentes et cas d’usage
- Un lecteur multimédia demande le segment suivant d’une vidéo ou saute à une nouvelle position.
- Un gestionnaire de téléchargement ou
curl -C -reprend un téléchargement interrompu. - Une visionneuse PDF ou une application ne récupère que les parties d’un gros fichier dont elle a besoin.