このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

TRACE リクエストメソッド

TRACE は HTTP のメソッドで、対象とするリソースへのパスに沿ってメッセージのループバック検査を実行します。

リクエストの最終的な受信者は、受信したメッセージ(機密データを含む可能性のあるフィールドを除く)を、200 OK レスポンスのメッセージ本文として、Content-Typemessage/http の状態でクライアントに反映すべきです。 最終的な受信先は、オリジンサーバーか、リクエスト内で Max-Forwards の値が 0 となる最初のサーバーのどちらかです。

クライアントはリクエストにコンテンツを送信しなければなりませんが、ユーザー資格情報やクッキーなどの機密データを含む可能性のあるヘッダーを生成してはなりません。 すべてのサーバーが TRACE メソッドを実装しているわけではなく、セキュリティ上の懸念から、一部のサーバー所有者は過去には TRACE メソッドの使用を禁止してきました。 このような場合 405 Method Not Allowed クライアントエラーレスポンスが送信されます。

リクエストの本文 なし
成功時のレスポンスの本文 あり
安全性 あり
べき等性 あり
キャッシュ 不可
HTML フォームで許可 いいえ

構文

http
TRACE <request-target>["?"<query>] HTTP/1.1
<request-target>

Host ヘッダーで提供される情報と組み合わせたときの、リクエストのターゲットリソースを識別します。 これは元のサーバーへのリクエストにおいては絶対パス(/path/to/file.html など)であり、プロキシーへのリクエストにおいては絶対 URL(http://www.example.com/path/to/file.html など)です。

<query> 省略可

疑問符 ? で始まるオプションのクエリー成分。 多くの場合、key=value の組の形で識別情報を保持するために使用されます。

TRACE リクエストに成功

TRACE リクエストは curl を使用して実行できます。

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: */*

仕様書

Specification
HTTP Semantics
# TRACE

ブラウザーの互換性

ブラウザーはユーザー主導のアクションに TRACE メソッドを使用しないため、「ブラウザー互換性」は適用されません。

関連情報