HTTP ヘッダー パーサー

生の HTTP リクエストまたはレスポンスヘッダーを構造化テーブルに解析。ステータスライン、ヘッダー、Cookie、Content-Type 情報を即座に抽出。

タイプ自動検出 Cookie 抽出 Content-Type 分析

HTTP ヘッダー パーサーの使い方

1

ヘッダーを貼り付け

ブラウザの DevTools(ネットワークタブ)または他のソースから生の HTTP ヘッダーをコピーして入力エリアに貼り付けてください。

2

自動解析

ヘッダーが即座に構造化テーブルに解析され、リクエストかレスポンスかが自動的に検出されます。

3

詳細を確認

ステータスライン、個々のヘッダー、抽出された Cookie、Content-Type の内訳を確認できます。

HTTP ヘッダーとは

HTTP ヘッダーは、HTTP リクエストとレスポンスでクライアントとサーバー間で送信されるキーと値のペアです。コンテンツタイプ、キャッシュルール、認証トークン、Cookie 情報などのリクエストやレスポンスに関するメタデータを伝えます。ヘッダーの理解は、ウェブアプリケーションのデバッグ、パフォーマンス最適化、セキュリティの確保に不可欠です。

リクエストヘッダー

クライアントからサーバーに送信されるヘッダー。Host、User-Agent、Accept、Authorization、Cookieなど。

レスポンスヘッダー

サーバーからクライアントに返されるヘッダー。Content-Type、Set-Cookie、Cache-Control、X-Request-Idなど。

セキュリティヘッダー

Content-Security-Policy、Strict-Transport-Security、X-Frame-Optionsなど、セキュリティを強化するヘッダー。

よくある質問

リクエストとレスポンスの両方のヘッダーを解析できますか?

はい。パーサーは最初の行に基づいて入力が HTTP リクエストかレスポンスかを自動検出し、適切に解析します。リクエストラインは HTTP メソッド(GET、POST など)で始まり、レスポンスラインは HTTP/バージョンで始まります。

Set-Cookie ヘッダーから Cookie を抽出できますか?

はい。Set-Cookie ヘッダーは個々の Cookie に解析され、名前、値、HttpOnly、Secure、SameSite、Path、Domain、Max-Age などのすべてのフラグが表示されます。

どのヘッダー形式が受け付けられますか?

標準的な HTTP/1.1 および HTTP/2 のヘッダー形式で、「名前: 値」の形式で1行に1つのヘッダーを入力してください。ブラウザの開発者ツールから直接コピーできます。

最もよく使われる HTTP ヘッダーはどれですか?

リクエストには通常 host、user-agent、accept、accept-encoding、cookie が含まれ、レスポンスには content-type、content-length、cache-control、set-cookie、date が返されます。API トラフィックでは、リクエスト側に authorization と content-type: application/json が、レスポンス側にレート制限系のヘッダーが加わります。これらすべてを定義する現行の仕様が RFC 9110(HTTP セマンティクス、2022 年)です。

リクエストヘッダーとレスポンスヘッダーの違いは何ですか?

リクエストヘッダー(host、authorization、accept-*)はクライアントが何を求めているかを示し、レスポンスヘッダー(location、set-cookie、retry-after)は返ってきた内容を示します。cache-control や content-type のように両方向に現れるフィールドもあれば、メッセージ本文ではなく接続そのものを制御するもの(connection: keep-alive)もあります。このパーサーは、各ヘッダーがどちら側に属するかを注釈として表示します。

重複した HTTP ヘッダーはどのように扱われますか?

RFC 9110 によれば、ほとんどの繰り返しフィールドはカンマ区切りの 1 つのリストに結合されます。例えば、cache-control を 2 行に分けたものと、no-cache, no-store という 1 行にまとめたものは等価です。Set-Cookie は仕様上の例外で、Expires の日付にカンマが含まれるためカンマ結合は決してできず、プロキシは各 Set-Cookie を個別に転送しなければなりません。この例外はプロキシのバグの定番の原因です。

HTTP/2 と HTTP/3 ではヘッダーに何が変わりましたか?

フィールド名は小文字化され、HPACK または QPACK で圧縮されたバイナリフレームとして送られるようになりました。各リクエストは独自のストリームを開き、Host のような接続単位のヘッダーは :method、:scheme、:path と並ぶ :authority 疑似ヘッダーに置き換えられました。セマンティクス上はフィールドが依然 RFC 9110 に従うため、変わったのは回線上のフォーマットであって語彙ではありません。

実際に無効となるヘッダー構文はどれですか?

フィールド名とコロンの間に空白が入る構文(Header : value)は無効です。リクエストスマグリングを防ぐため、HTTP/1.1 のパースと HTTP/2 の仕様のどちらもこれを拒否します。その他の無効な例として、フィールド名内の空白や非 ASCII バイト、値に含まれる制御文字、そして RFC 9110 が非推奨とする obs-fold(インデントされた行によるヘッダーの続き)が挙げられます。obs-fold は 1 行またはリスト値で置き換えてください。

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}