206 Partial Content |
Contenu partiel |
---|---|
HTTP |
Formulation
206 Partial Content |
Description
Ce code d'erreur permet d'indiquer que la page à un contenu partiel.
Remarques
- Le code d'état 206 Partial Content indique que le serveur répond avec succès à une requête d'intervalle pour la ressource cible en transférant une ou plusieurs parties de la représentation sélectionnée correspondant aux intervalles satisfaisables trouvées dans le champ d'entête Range: de la requête.
- Si une seule partie est transférée, le serveur générant la réponse 206 doit générer un champ d'entête Content-Range:, décrivant quelle intervalle de la représentation sélectionnée est incluse, et une charge utile constituée de l'intervalle.
- Si plusieurs parties sont transférées, le serveur générant la réponse 206 doit générer une charge utile multipart/byteranges, et un champ d'entête Content-Type: contenant le type de média multipart/byteranges et son paramètre de limite requis.
- Pour éviter toute confusion avec les réponses en une seule partie, un serveur ne doit pas générer un champ d'entête Content-Range: dans la section d'entête HTTP d'une réponse en plusieurs parties (ce champ sera envoyé à la place dans chaque partie).
- Dans la zone d'entête de chaque partie de corps de la charge utile en plusieurs parties, le serveur doit générer un champ d'entête Content-Range: correspondant à l'intervalle incluse dans cette partie de corps. Si la représentation sélectionnée avait eu un champ d'entête Content-Type: dans une réponse 200 OK, le serveur devrait générer ce même champ Content-Type: dans la zone d'entête de chaque partie du corps.
- Lorsque plusieurs intervalles sont demandées, un serveur peut fusionner l'une des intervalles se chevauchant ou étant séparées par un intervalle plus petit que la surcharge d'envoi de plusieurs parties, quel que soit l'ordre dans lequel la spécification de l'intervalle d'octets correspondante est apparue dans le champ d'entête Range: reçu. Étant donné que le temps système typique entre les parties d'une charge utile multipart/byteranges est d'environ 80 octets, selon le type de support de la représentation sélectionnée et la longueur du paramètre de limite choisi, il peut être moins efficace de transférer de nombreuses petites parties disjointes que de transférer la totalité de la représentation sélectionnée.
- Un serveur ne doit pas générer de réponse en plusieurs parties à une requête pour une seule intervalle, car un client ne demandant pas plusieurs parties peut ne pas prendre en charge les réponses en plusieurs parties. Cependant, un serveur peut générer une charge utile multiparties/byteranges avec une seule partie de corps si plusieurs intervalles ont été demandées et qu'une seule intervalle s'est avérée satisfaisable ou qu'une seule intervalle est restée après la fusion. Un client ne pouvant pas traiter une réponse en plusieurs parties/intervalles ne doit pas générer une requête demandant plusieurs intervalles.
- Lorsqu'une charge utile de réponse en plusieurs parties est générée, le serveur devrait envoyer les pièces dans le même ordre que la spécification de l'intervalle d'octets correspondante est apparue dans le champ d'entête Range: reçu, à l'exclusion des intervalles jugées non satisfaisantes ou ayant été fusionnées dans d'autres intervalles. Un client recevant une réponse en plusieurs parties doit inspecter le champ d'entête Content-Range: présent dans chaque partie de corps afin de déterminer quelle intervalle est contenue dans cette partie de corps; un client ne peut pas compter sur la réception des mêmes intervalles qu'il a demandées, ni de la même commande qu'il a demandée.
- Lorsqu'une réponse 206 est générée, le serveur doit générer les champs d'entête suivants, en plus de ceux requis ci-dessus, si le champ aurait été envoyé dans une réponse 200 OK à la même requête : Date:, Cache-Control:, ETag:, Expires, Content-Location: et Vary.
- Si un 206 est généré en réponse à une requête avec un champ d'entête If-Range:, l'expéditeur ne devrait pas générer d'autres champs d'entête de représentation au-delà de ceux requis ci-dessus, car le client est censé avoir déjà une réponse antérieure contenant ces champs d'entête. Sinon, l'expéditeur doit générer tous les champs d'entête de représentation ayant été envoyés dans une réponse 200 OK à la même requête.
- Une réponse 206 peut être mise en cache par défaut; c'est-à-dire, sauf indication contraire par des contrôles de cache explicites.
Dernière mise à jour : Samedi, le 18 janvier 2020