Raw HTTP リクエストバリデーター
Raw HTTPリクエストテキストを検証・解析し、詳細なリクエストメタデータを表示します。
入力
出力
結果
値なし
Readme
生のHTTPリクエストとは?
生のHTTPリクエストとは、ネットワーク上で送信されるHTTPメッセージをプレーンテキストで表現したものです。リクエストライン(メソッド、URL、HTTPバージョン)、ヘッダーフィールド(キーと値のペア)、空行、そしてオプションのボディで構成されます。たとえば、シンプルなGETリクエストは GET /index.html HTTP/1.1 の後に Host: example.com などのヘッダーが続く形式になります。
生のHTTPリクエストを理解することは、Web開発、APIデバッグ、ネットワークのトラブルシューティングにおいて非常に重要です。cURL、Wireshark、ブラウザの開発者ツールなどは、リクエストを生の形式で表示することがよくあります。これらの生のメッセージを読み取り、検証できることで、不正なヘッダー、誤ったコンテンツ長、Hostヘッダーの欠落、プロトコルバージョンの不一致といった問題の診断に役立ちます。
ツールの説明
Raw HTTPリクエストバリデーターは、生のHTTPリクエストメッセージを解析・検証するツールです。リクエストライン、ヘッダー、オプションのボディを含む完全な生のHTTPリクエストを貼り付けると、有効なHTTP構文に準拠しているかどうかをチェックします。リクエストが有効な場合、HTTPメソッド、URL、HTTPバージョン、host、ヘッダー数、ボディのバイトサイズなどの主要な詳細を抽出して表示します。リクエストが不正な形式の場合は、具体的な解析エラーを報告します。
機能
- 完全なリクエスト解析: リクエストライン、ヘッダー、ボディを含むHTTPメッセージ構造全体を検証
- 詳細なフィールド抽出: 解析されたメソッド、URL、HTTPバージョン、Hostヘッダー、ヘッダー数、ボディのバイト数を表示
- エラー報告: リクエストが不完全または不正な形式の場合に、具体的なエラーメッセージを提供
- サンプル入力済みプレースホルダー: サンプルのPOSTリクエストが含まれており、期待される形式をすぐに確認可能
- 標準準拠の解析: Node.jsで使用されているものと同じ解析ロジックを実装した
http-parser-jsライブラリを使用
仕組み
このツールは http-parser-js を使用しています。これはNode.js向けにC言語で書かれたHTTPパーサーをJavaScriptで実装したものです。生のリクエストを貼り付けると、パーサーはバイト単位で処理を行い、リクエストラインの識別、各ヘッダーペアの抽出、ボディの蓄積、メッセージの完全性チェックを実施します。構文エラーが検出された場合や、メッセージが不完全(最後の空行や宣言されたボディコンテンツが欠落)な場合は、エラーを報告します。成功した場合は、解析されたコンポーネントが構造化された出力フィールドに表示されます。
制限事項
- HTTP/1.xのみ対応: パーサーはHTTP/1.0およびHTTP/1.1リクエストを処理します。HTTP/2のバイナリフレームはサポートされていません
- リクエストのみ: このツールはHTTPリクエストを検証するものであり、HTTPレスポンスには対応していません
- セマンティック検証なし: パーサーは構造的な正確性をチェックしますが、特定のヘッダー値が論理的に有効かどうか(例:Content-Typeが実際のボディ形式と一致しているかなど)は検証しません
ユースケース
- APIデバッグ: ログ、プロキシ、またはドキュメントからキャプチャした生のリクエストをサーバーに送信する前に検証
- HTTPの学習: さまざまなメソッド、ヘッダー、ボディ形式を試しながら、HTTPメッセージの構造を学習
- セキュリティ分析: ペネトレーションテストやログレビュー中に発見した不審または異常なHTTPリクエストを検査・検証