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
Darstellungs-Header gibt einen alternativen Speicherort für die zurückgegebenen Daten an. Sein Hauptzweck ist es, die URL einer Ressource anzugeben, die als Ergebnis der Inhaltsverhandlung übertragen wurde.
Der Content-Location
-Header unterscheidet sich vom Location
-Header. Content-Location
gibt die direkte URL zur Ressource an, wenn eine Inhaltsverhandlung stattgefunden hat, wodurch der Client zukünftige Inhaltsverhandlungen für diese Ressource umgehen kann. Location
hingegen gibt entweder das Ziel einer 3XX
-Weiterleitung oder die URL einer neu erstellten Ressource in einer 201 Created
-Antwort an.
Header-Typ | Darstellungs-Header |
---|---|
Verbotener Header-Name | Nein |
Syntax
Content-Location: <url>
Direktiven
Beispiele
Anfordern von Daten vom Server in verschiedenen Formaten
Angenommen, eine API einer Website kann Daten in den Formaten JSON, XML oder CSV zurückgeben. Wenn die URL für ein bestimmtes Dokument unter https://example.com/documents/foo
liegt, könnte die Website unterschiedliche URLs für Content-Location
zurückgeben, abhängig vom Accept
-Header der Anfrage:
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-Muster bedienen, wie z.B. einem 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 speziellen URL verfügbar ist, und die Inhaltsverhandlung beim nächsten Anfordern dieses Dokuments ü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>
zum Senden von Geld an einen anderen Benutzer einer Webseite.
<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 Webseite eine Quittung für die Transaktion. Der Server könnte Content-Location
verwenden, um die URL dieser Quittung für zukünftige Zugriffe anzugeben.
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