TRACE 請求方法
TRACE HTTP 方法會沿著到達目標資源的路徑執行訊息環回測試。
請求的最終接收者應將接收到的訊息(不包括任何可能包含敏感資料的欄位)作為帶有 Content-Type 為 message/http 的 200 OK 響應的訊息正文反射回客戶端。最終接收者可以是源伺服器,也可以是請求中收到 Max-Forwards 值為 0 的第一個伺服器。
客戶端不得在請求中傳送內容,或生成可能包含敏感資料(如使用者憑據或 Cookie)的標頭。並非所有伺服器都實現了 TRACE 方法,並且一些伺服器所有者出於安全考慮歷來禁止使用 TRACE 方法。在這種情況下,將傳送 405 Method Not Allowed 客戶端錯誤響應。
語法
http
TRACE <request-target>["?"<query>] HTTP/1.1
<請求目標>-
與
Host標頭中提供的資訊結合使用時,標識請求的目標資源。這是對源伺服器的請求中的絕對路徑(例如,/path/to/file.html),以及對代理的請求中的絕對 URL(例如,http://www.example.com/path/to/file.html)。 <query>可選-
一個可選的查詢元件,前面帶有一個問號
?。通常用於以key=value對的形式攜帶識別資訊。
示例
成功的 TRACE 請求
可以使用 curl 執行 TRACE 請求
bash
curl -v -X TRACE example.com
這會生成以下 HTTP 請求
http
TRACE / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*
帶有響應正文中包含的請求頭的 200 OK 響應會發送回客戶端
http
HTTP/1.1 200 OK
Content-Length: 123
Date: Wed, 04 Sep 2024 11:50:24 GMT
Server: Apache/2.4.59 (Unix)
Content-Type: message/http
TRACE / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*
規範
| 規範 |
|---|
| HTTP 語義 # TRACE |
瀏覽器相容性
瀏覽器不將 TRACE 方法用於使用者發起的動作,因此“瀏覽器相容性”不適用。