HTTPレスポンスヘッダーチェッカー

公開URLを取得してHTTPステータスとレスポンスヘッダーを表示し、HSTS、CSP、X-Frame-Options、nosniffなどのセキュリティヘッダーを検査します。

スキームがない場合は https:// を補います。

ブラウザーは他サイトのヘッダーを読めないため、このリクエストは AlgoKit のサーバー(Cloudflare Pages Function)が Cloudflare のデータセンターから送信します。他の国の訪問者が見る結果とは異なる場合があります。プライベートやローカルのアドレスは拒否され、ページの内容は保存されません。

HTTPヘッダーチェッカーとは?

このツールはURLにリクエストし、ステータス行とサーバーが返すすべてのレスポンスヘッダーを、curl -I のようにブラウザ上で表示します。リダイレクトをたどったうえで最終レスポンスを評価し、HSTS、Content-Security-Policy、X-Content-Type-Options、フレーミング保護、Referrer-Policy、Permissions-Policy、X-Powered-Byといった代表的なセキュリティヘッダーを確認します。

HTTPヘッダーチェッカーの使い方

  1. 公開URLを入力します。スキームを省略すると https:// が補われます。
  2. Checkを押します。
  3. 最終ステータスコード、たどったリダイレクト数、ヘッダーの全一覧を確認します。
  4. 表の下にあるセキュリティヘッダーのチェックリストを確認し、必要に応じて生のヘッダーをコピーします。

HTTPヘッダーチェッカーを使うべき場面

デプロイ後のキャッシュ、圧縮、CORS、セキュリティヘッダーの確認や、CDNが何を追加しているかの確認に使います。リクエストはCloudflareのデータセンターから汎用のユーザーエージェントで送られるため、地域別のコンテンツ、ボット対策、ログイン後のレスポンスは、実際に見えるものと異なる場合があります。非公開のイントラネットのURLは、手元のマシンでcurlを使ってください。

HTTPヘッダーチェッカーの仕組み

ブラウザは他のサイトのヘッダーを読むことが許されていないため、リクエストはAlgoKitのCloudflare Pages Function(/api/fetch-meta)が行います。URLを検証し(httpとhttpsのみ、認証情報なし)、DNS over HTTPSでホストを解決して、プライベート、ループバック、リンクローカル、CGNAT、クラウドメタデータのアドレスを拒否します。その後、Cookieなしで GET リクエストを送り、最大10回のリダイレクトを手動でたどり、全体で8秒のタイムアウトを設けます。返されるのはステータスコード、ヘッダー、HTMLから抽出した少数のフィールドのみで、Set-CookieのCookie値は伏せ字になります。セキュリティチェックは、返されたヘッダーに対してブラウザ内で実行されます。

一般的な使用例

  • 本番環境でStrict-Transport-SecurityとContent-Security-Policyが設定されていることを確認する。
  • 静的アセットのCache-ControlとETagヘッダーを確認する。
  • サイトが報告しているサーバー、CDN、フレームワークを調べる。
  • ヘッダーを見る前に、リダイレクトが正しいURLで終わっているか確認する。

セキュリティ注意事項

入力したURLはAlgoKitのサーバーが取得します。クエリ文字列にシークレットやワンタイムトークンを含むURLは確認しないでください。

よくある質問

ブラウザ自身でこれらのヘッダーを読めないのはなぜですか。

同一オリジンポリシーにより、クロスオリジンのレスポンスのうちJavaScriptに公開されるのは、CORSで許可された一部のヘッダーだけで、サーバーが許可した場合に限られます。サーバー側のリクエストなら、すべてのヘッダーを見られます。

ページの内容は保存されますか。

いいえ。関連ツールが使うメタデータを抽出するためだけにHTMLを最大512 KB読み取りますが、ログに残したり保存したりはしません。

社内のURLが拒否されるのはなぜですか。

サーバーサイドリクエストフォージェリを防ぐため、プライベートやローカルのアドレス(10.x、192.168.x、localhost、*.local、メタデータIP)と、それらに解決される名前はブロックされます。

おすすめの次のステップ

他のカテゴリを見る