HTTPQUERY
Deutsch

Content-Location

Verwendung

Der Header Content-Location liefert eine URL, die die konkrete Repräsentation einer Ressource identifiziert, die im Antwort-Body ausgeliefert wird. Anders als der Header Location, der den Client zu einer anderen Ressource weiterleitet, verweist Content-Location auf genau die Repräsentation, die der Server nach der Inhaltsaushandlung gewählt hat.

Wenn ein Server mehrere Repräsentationen derselben Ressource unterstützt (verschiedene Sprachen, Formate oder Codierungen), teilt der Header Content-Location dem Client mit, welche konkrete Variante ausgewählt wurde. Diese Unterscheidung ist für das Caching und für das Setzen von Lesezeichen auf das ausgehandelte Ergebnis von Bedeutung.

Der Wert ist entweder eine absolute URL oder eine relative Referenz, die gegen die Anfrage-URL aufgelöst wird. In der Praxis ist eine relative Referenz häufiger.

Content-Location erscheint auch in Antworten auf PUT- und POST-Anfragen. Nachdem ein erfolgreiches POST eine neue Ressource erzeugt hat, setzt der Server Content-Location auf die URL des neu angelegten Elements, sofern der Antwort-Body die erzeugte Ressource unmittelbar repräsentiert.

Beispiel

Ein Client fordert ein Dokument unter /report an, und der Server wählt per Inhaltsaushandlung die englische PDF-Variante. Der Header Content-Location nennt die konkrete URL der gewählten Repräsentation.

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

Nachdem eine POST-Anfrage eine neue Ressource erzeugt hat, gibt der Server das angelegte Element im Antwort-Body zurück. Der Header Content-Location verweist auf die kanonische URL der neuen Ressource.

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

Hinweis

Der Header Location leitet den Client zu einer anderen Ressource weiter und ändert damit das Anfrageziel. Content-Location nennt die konkrete URL der Repräsentation, die bereits im Antwort-Body ausgeliefert wurde. Location löst eine neue Anfrage aus. Content-Location beschreibt, was zurückgegeben wurde.