Content-Location

Der HTTP-Content-Location Darstellungs-Header gibt einen alternativen Standort für die zurückgegebenen Daten an. Der Hauptzweck ist es, die URL einer Ressource anzugeben, die als Ergebnis der Inhaltsverhandlung übertragen wird.

Der Content-Location-Header unterscheidet sich vom Location-Header. Content-Location gibt die direkte URL an, um auf die Ressource zuzugreifen, wenn eine Inhaltsverhandlung stattgefunden hat, wodurch der Client zukünftige Inhaltsverhandlungen für diese Ressource umgehen kann. Location hingegen zeigt entweder das Ziel einer 3XX-Umleitung oder die URL einer neu erstellten Ressource in einer 201 Created-Antwort an.

Header-Typ Darstellungs-Header
Verbotener Header-Name Nein

Syntax

http
Content-Location: <url>

Direktiven

<url>

Eine URL, die absolut oder relativ zur Anforderungs-URL sein kann.

Beispiele

Anfordern von Daten von einem Server in verschiedenen Formaten

Angenommen, die API einer Website kann Daten in den Formaten JSON, XML oder CSV zurückgeben. Wenn die URL für ein bestimmtes Dokument https://example.com/documents/foo lautet, könnte die Website je nach Accept-Header der Anfrage unterschiedliche URLs für den Content-Location-Header zurückgeben:

Header der Anfrage Header der Antwort
Accept: application/json, text/json Content-Location: /documents/foo.json
Accept: application/xml, text/xml Content-Location: /documents/foo.xml
Accept: text/plain, text/* Content-Location: /documents/foo.txt

Diese URLs sind Beispiele — die Website könnte die verschiedenen Dateiformate mit beliebigen URL-Mustern bedienen, wie etwa einem Query-String-Parameter: /documents/foo?format=json, /documents/foo?format=xml usw.

Dann könnte der Client sich merken, dass die JSON-Version unter dieser bestimmten URL verfügbar ist, und beim nächsten Abruf dieses Dokuments die Inhaltsverhandlung überspringen.

Der Server könnte auch andere Header der Inhaltsverhandlung berücksichtigen, wie z.B. Accept-Language.

Die URL des Ergebnisses einer Transaktion angeben

Angenommen, Sie haben ein <form> zur Überweisung von Geld an einen anderen Benutzer einer Website.

html
<form action="/send-payment" method="post">
  <p>
    <label>
      Who do you want to send the money to?
      <input type="text" name="recipient" />
    </label>
  </p>

  <p>
    <label>
      How much?
      <input type="number" name="amount" />
    </label>
  </p>

  <button type="submit">Send Money</button>
</form>

Wenn das Formular abgeschickt wird, generiert die Website eine Quittung für die Transaktion. Der Server könnte Content-Location verwenden, um die URL dieser Quittung für den zukünftigen Zugriff anzugeben.

http
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Location: /my-receipts/38

<!doctype html>
(Lots of HTML…)

<p>You sent $38.00 to ExampleUser.</p>

(Lots more HTML…)

Spezifikationen

Specification
HTTP Semantics
# field.content-location

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch