?
This document uses PHP Chinese website manual Release
Content-Location
報頭指示為返回的數(shù)據(jù)的備用位置。主要用途是指示作為內(nèi)容協(xié)商結(jié)果傳輸?shù)馁Y源的 URL 。
Location
和Content-Location
是不同的。
Location
指示重定向的 URL ,同時Content-Location
指示用于訪問資源的直接 URL ,而未來未進(jìn)一步內(nèi)容協(xié)商。
Location
是與響應(yīng)關(guān)聯(lián)的頭部,Content-Location
與返回的數(shù)據(jù)相關(guān)聯(lián)。沒有示例,這種區(qū)分看起來很抽象。
Header type | Entity header |
---|---|
Forbidden header name | no |
Content-Location: <url>
<url> 相對于(請求 URL )或絕對 URL 。
假設(shè)一個網(wǎng)站的 API 可以以 JSON ,XML 或 CSV 格式返回數(shù)據(jù)。如果特定文檔的 URL 位于https://example.com/documents/foo
,網(wǎng)站可能會返回不同的 URL 以Content-Location
取決于請求的Accept
標(biāo)題:
Request header | Response 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 |
這些 URL 是示例 - 該網(wǎng)站可以使用它希望的任何 URL 模式來提供不同的文件類型,例如查詢字符串參數(shù):/documents/foo?format=json
,/documents/foo?format=xml
等等。
然后,客戶端可以記住 JSON 版本在該特定的 URL 上可用,在下次請求文檔時跳過內(nèi)容協(xié)商。
服務(wù)器也可以考慮其他內(nèi)容協(xié)商頭,例如Accept-Language
。
假設(shè)您正在通過網(wǎng)站的 API 創(chuàng)建新博客帖子:
PUT /new/post Host: example.com Content-Type: text/markdown # My first blog post!I made this through `example.com`'s API. I hope it worked.
該網(wǎng)站返回確認(rèn)帖子已發(fā)布的通用成功消息。服務(wù)器指定其中的新職位是Content-Location
:
HTTP/1.1 201 Created Content-Type: text/plain; charset=utf-8Content-Location: /my-first-blog-post ? Success!
假設(shè)您有一筆<form>
錢用于網(wǎng)站的其他用戶。
<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>
表單提交后,網(wǎng)站會為交易生成收據(jù)。服務(wù)器可以用Content-Location
來指示收據(jù)的 URL 以供將來訪問。
HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8Content-Location: /my-receipts/38<!doctype html>(Lots of HTML…) <p>You sent $38.00 to ExampleUser.</p> (Lots more HTML…)
Specification | Title |
---|---|
RFC 7231, section 3.1.4.2: Content-Location | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |