Via Inspect

HTTPヘッダー/経路情報をブラウザ内で整理・診断します。入力はサーバーへ送信しません。観測差分の一次切り分けに使えます。

状態

ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。

使い方

Via を貼り付けて「解析」。エントリを分解して一覧表示します(Via: のヘッダー行/複数行貼り付け/レスポンスヘッダー全体の貼り付けもOK)。

注意(このツール)

  • コメントは自由形式で、製品名の断定には使えません。経路のヒントとして扱ってください。

このページについて

何をするツール?

Via ヘッダーを分解し、経由したプロキシ/ゲートウェイの情報(プロトコル、received-by、コメント)を一覧表示します。

「CDNを通っている?」「どこでヘッダーが付け替わっている?」など、経路の切り分けに向きます。

Viaの基本

  • Via は中間者(プロキシ/ゲートウェイ)が「経由した」ことを表すために使われます。
  • 複数経由すると、カンマ区切りで複数エントリが並びます。
  • 実装によっては Via が付かない/隠される場合があります。

構文(読み方)

Via は「protocol received-by (comment)」のような形のエントリが、カンマ区切りで並びます。protocol は省略されることもあります。

  • Via: 1.1 vegur
  • Via: 1.0 fred, 1.1 p.example.net
  • Via: 1.1 proxy (cache)

用語(このページの前提)

  • Intermediary(中間者): クライアントとオリジンの間に入るプロキシ/CDN/ゲートウェイ。
  • Hop(ホップ): 経由した段の1つ。Viaのエントリが複数あると複数ホップ。
  • Rewrite(書き換え): 中間者がヘッダーを追加/削除/変更すること。

なぜ役立つ?(経路の可視化)

ヘッダーやキャッシュの挙動は「どのレイヤーを通っているか」で大きく変わります。Via はそのヒントになり、原因の切り分けを早くします。

  • Cache-Control/ETag/Expires が期待通りでも、途中のレイヤーで上書きされることがある
  • CORS や Cookie 属性が途中で変わる/削除されることがある

Via だけでは経路を断定できないことがあります。経路の推測は複数ヘッダーの組み合わせで精度が上がります。

  • Age: 共有キャッシュの経過秒(CDNっぽさの強い指標)
  • Forwarded / X-Forwarded-For / X-Real-IP: 転送経路やクライアント情報の痕跡
  • Server / Via コメント: 実装差が大きいので“ヒント”扱い
  • Vary: キャッシュキーの割れ(経路差/条件差)を疑う時に有効

よくある落とし穴

  • Via が無い=中間者が無いとは限らない(隠す設定/別ヘッダーで示す場合)
  • Via の値だけでベンダー/製品を断定しない(コメントは任意で自由度が高い)
  • 複数エントリは「経路が長い」サイン。どの段で変わるかは比較が必要

確認のしかた(比較で“どこで変わるか”を見る)

本質は「経路A」と「経路B」でヘッダー差分を取ることです。例えば、CDN経由とオリジン直(あるいは別ドメイン/別経路)でヘッダーを比較します。

  • curl -I https://example.com/ (通常経路)
  • curl -I https://origin.example.com/ (直オリジンの想定経路)
  • Via/Age/Cache-Control/ETag/Expires などの差分を見て、どこが“責任レイヤー”か推測

切り分け手順(おすすめ)

  • Response Headers Parser でレスポンスヘッダーを貼り、Via を取り出す
  • このツールで Via を分解して経由段数/コメントを整理
  • Cache-Control/Expires/Age/ETag/Last-Modified などと併せて「どの層が効いているか」を推測

トラブル別チェックリスト

  • ヘッダーが想定と違う: Via(経路)と Age(共有キャッシュ)を確認し、どの層で上書きされているかを疑う
  • 本番だけ不具合: 本番のViaが複数、検証のViaが無し/少ない → 経路差が原因の可能性
  • キャッシュが効かない/効きすぎる: Viaと合わせて Cache-Control/Expires/Age を確認
  • Response Headers Parser
  • Request Headers Parser
  • Cache-Control Inspect / Expires Inspect / Age Inspect
  • ETag Inspect / Last-Modified Inspect
  • Vary Inspect

このツールでできること

  • Via のエントリをカンマ区切りで分解
  • protocol / received-by / comment を抽出して一覧表示
  • レスポンスヘッダー全体から Via 行を抽出

注意(運用)

  • 中継機器でヘッダーが書き換わることがあります。取得地点を揃えて比較してください。
  • 最終判断はサーバーログと設定(信頼プロキシ、ルーティング)で確認してください。

参照仕様

  • RFC 9110(HTTP Semantics)
  • MDN: Via

FAQ

Via があるとセキュリティ的に問題?

環境によっては内部構成のヒントになります。公開したくない場合はポリシーとして付与/公開を制御します。

Via が無いのにCDNっぽい挙動がある

Via を出さない設定のCDNもあります。Age やベンダー固有ヘッダー、DNS/証明書、オリジン直/経由の比較などで判断します。

参考リンク

  1. RFC 9110
  2. MDN: Via
  3. MDN: HTTP caching

site_map ルールに基づいて、次に確認すべきページを表示しています。

  1. Forwarded Inspect — Forwarded を解析して転送経路情報を確認
  2. X-Forwarded-For Inspect — X-Forwarded-For / X-Real-IP を解析して送信元連鎖を確認
  3. X-Forwarded-Proto Inspect — X-Forwarded-Proto / Host を解析して外形URL判定を確認