Content-Location

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 eine alternative Adresse für die zurückgegebenen Daten an. Hauptsächlich wird er verwendet, um die URL einer Ressource zu kennzeichnen, die als Ergebnis einer Inhaltsverhandlung übertragen wurde.

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. Dies ermöglicht es dem Client, bei zukünftigen Anfragen für diese Ressource die Inhaltsverhandlung zu umgehen. Location hingegen gibt entweder das Ziel einer 3XX-Weiterleitung oder die URL einer neu erstellten Ressource in einer 201 Created-Antwort an.

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

Syntax

http
Content-Location: <url>

Direktiven

<url>

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

Beispiele

Anfrage von Daten in verschiedenen Formaten von einem Server

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

Anfrage-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 Seite könnte die verschiedenen Dateiformate mit beliebigen URL-Mustern bereitstellen, wie z.B. ein Abfrage-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 Inhaltsverhandlung überspringen.

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

Angabe der URL des Ergebnisses einer Transaktion

Angenommen, Sie haben ein <form> zum Versenden von Geld an einen anderen Benutzer einer Seite.

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 gesendet wird, generiert die Seite 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

BCD tables only load in the browser

Siehe auch