[214] TRACE
メソッドは、要求メッセージを応答に含めて送り返すことを要求するものです。
[213] TRACE
は、試験や診断のために有用であるとされています >>206。
特に Via:
が見られるのは有用と考えられています >>206。
[6] このメソッドはセキュリティー上の問題があり、実装されていないことが多々あります。 実装されていても、取り扱いに細心の注意が必要です。
[207] TRACE
は、遠隔の応用レベルでの要求メッセージのループバックを要求するものです
>>206。
[2] 要求対象に特別な制限はなく、どのように処理に影響するのか明確にはなっていませんが、
串や鯖の構成次第で転送先が要求対象ごとに異なる可能性があり、
それを検査することも TRACE
メソッドの用途の一つなのでしょう。
[209] 起源鯖か、 Max-Forwards:
ヘッダーの値が 0
で受信した最初の鯖が、最終的な受信者です >>206。
[208] TRACE
の最終的な受信者は、
受信したメッセージを、一部のヘッダーを除き、
Content-Type:
が message/http
である 200
応答のメッセージ本体に含めて送信するべきです
>>206。
[211] クライアントも最終受信者も、要求において繊細なデータを含むヘッダーは除外するべき >>206 としています。
[212] credentials を含むものやクッキーを含むものがこれに含まれます >>206。 ただし具体的な一覧は仕様書には示されていません。
[5] 逆串の類は付加情報を要求ヘッダーに付加することがあります。
それより起源鯖側にある逆串や起源鯖が TRACE
に対応している場合、そのようなヘッダーが含まれる応答が返され、
意図せず鯖側の構成や内部情報が外部にさらされてしまう危険性がありますから、
注意が必要です。
[15] 不用意に情報が漏れることを防ぐため、すべてのヘッダーをそのまま返すことは期待されていませんし、 すべてのサーバーが正確に返答すること自体も期待できません。 有用であるためには経路上のすべてのサーバーが正確に応答する必要があるのです。
[16] 逆に言えば、この機能が役に立つ場面はほとんどありません。
[17] もっとも、この機能があれば問題解決につながっただろうに、というような話も聞いたことがありません。 あれば便利そうに見えて、実はそんなに需要もないということでしょう。
[4] 鯖によっては TRACE
に特に対応しておらず、
GET
と同じように処理することがあります。
[9] Apache 2.2 は httpd.conf の設定で処理用に追加したヘッダーも要求に元々含まれていたヘッダーと同様に
TRACE
への応答に含めて返すようです。
[217] 297078 – setRequestHeader can be exploited using newline characters ( ( 版)) https://bugzilla.mozilla.org/show_bug.cgi?id=297078
[11] 実はそんなに怖くないTRACEメソッド | 徳丸浩の日記 ( 版) http://blog.tokumaru.org/2013/01/TRACE-method-is-not-so-dangerous-in-fact.html
[13] ( 版) http://www.gsx.co.jp/tts/activity/110413.pdf
[18] @nifty パレットのセキュリティホール まとめ | 鳩丸よもやま話 () http://bakera.jp/yomoyama/palette-hole
application/http
は認められていないようです。