HTTPQUERY
Français

Content-Location

Utilisation

L’en-tête Content-Location fournit une URL identifiant la représentation précise d’une ressource livrée dans le corps de la réponse. Contrairement à l’en-tête Location, qui redirige le client vers une autre ressource, Content-Location désigne la représentation exacte retenue par le serveur à l’issue de la négociation de contenu.

Lorsqu’un serveur propose plusieurs représentations d’une même ressource (langues, formats ou encodages différents), l’en-tête Content-Location indique au client quelle variante a été sélectionnée. Cette distinction importe pour la mise en cache et pour la mise en favori du résultat négocié.

La valeur est soit une URL absolue, soit une référence relative résolue par rapport à l’URL de la requête. En pratique, la référence relative est plus courante.

Content-Location apparaît aussi dans les réponses aux requêtes PUT et POST. Après qu’un POST a créé une ressource avec succès, le serveur positionne Content-Location sur l’URL de l’élément nouvellement créé lorsque le corps de la réponse représente directement la ressource créée.

Exemple

Un client demande un document à /report et le serveur sélectionne la variante PDF en anglais par négociation de contenu. L’en-tête Content-Location identifie l’URL précise de la représentation retenue.

GET /report HTTP/1.1
Host: example.re
Accept: application/pdf
Accept-Language: en
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Language: en
Content-Location: /report/en.pdf

Après qu’une requête POST a créé une ressource, le serveur renvoie l’élément créé dans le corps de la réponse. L’en-tête Content-Location pointe vers l’URL canonique de la nouvelle ressource.

HTTP/1.1 201 Created
Content-Type: application/json
Content-Location: /orders/12345

Remarque

L’en-tête Location redirige le client vers une autre ressource, en changeant la cible de la requête. Content-Location identifie l’URL précise de la représentation déjà livrée dans le corps de la réponse. Location déclenche une nouvelle requête. Content-Location décrit ce qui a été renvoyé.