Content-Location header

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Der HTTP-Content-Location-Repräsentations-Header gibt einen alternativen Ort für die zurückgegebenen Daten an. Die Hauptverwendung besteht darin, 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, was dem Client ermöglicht, zukünftige Inhaltsverhandlungen für diese Ressource zu umgehen. Location weist hingegen entweder auf das Ziel einer 3XX-Weiterleitung oder die URL einer neu erstellten Ressource in einer 201 Created-Antwort hin.

Header-Typ Repräsentations-Header
Verbotener Anforderungs-Header Nein

Syntax

http
Content-Location: <url>

Direktiven

<url>

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

Beispiele

Abfrage von Daten von einem Server in verschiedenen Formaten

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

Anforderungs-Header Antwort-Header
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 Dateitypen mit beliebigen URL-Mustern anbieten, zum Beispiel mit einem Query-String-Parameter: /documents/foo?format=json, /documents/foo?format=xml und so weiter.

Der Client könnte sich dann merken, dass die JSON-Version unter dieser bestimmten URL verfügbar ist, und bei der nächsten Anforderung dieses Dokuments die Inhaltsverhandlungen überspringen.

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

Angabe der URL des Ergebnisses einer Transaktion

Angenommen, Sie haben ein <form> für das Versenden 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, erstellt die Website eine Quittung für die Transaktion. Der Server könnte Content-Location verwenden, um die URL dieser Quittung für 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

Siehe auch