TRACE
HTTPメソッド
HTTPメソッドTRACEの仕様
TRACEメソッドはリモートでアプリケーションレベルのリクエストメッセージのループバックを要求します。リクエストの最終受信者は、以下に記述されるいくつかのフィールドを除いた、受信したメッセージを、Content-Typeが "message/http"(【RFC7230】のセクション8.3.1)の200(OK)応答のメッセージボディとしてクライアントに反映すべきです(SHOULD)。最終的な受信者は、オリジンサーバーまたはリクエストでMax-Forwards値ゼロ (0)を最初に受け取ったサーバーのいずれかである(セクション5.1.2)。クライアントは、応答によって開示されるかもしれない機密データを含むヘッダー フィールドをTRACEリクエスト中に生成してはならない[MUST NOT]。例えば、ユーザーエージェントがTRACEリクエストで保存されたユーザー資格情 報(参考文献[RFC7235])やクッキー(参考文献[RFC6265])を送ることは愚かである。
TRACEは、クライアントがリクエストの連鎖のもう一方の端で何を受け取っ ているかを見て、そのデータをテストや診断のために使うことを可能にします。Viaヘッダーフィールドの値(参考文献[RFC7230]のセクション5.7.1)は、リク エストチェーンのトレースとして動作するので、特に興味深い。Max-Forwardsヘッダーフィールドの使用は、クライアントがリクエスト チェーンの長さを制限することを可能にします。これは、無限ループでメッ セージを転送(forward)するプロキシのチェーンをテストするのに有用です。
クライアントはTRACEリクエストでメッセージボディを 送ってはいけません[MUST NOT]。
TRACEメソッドの説明
HTTPメソッドTRACEの例
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Content-Type: message/http
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
Response body (echoed request):
TRACE /data HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive