HTTP リダイレクトの仕組みとステータスコード
HTTP リダイレクトは、クライアントが要求した URL とは異なる URL に自動的に転送する仕組みです。このプロセスにおいて、サーバーは特定のステータスコードと Location ヘッダーを含む応答を返します。
ステータスコードは、リダイレクトの性質を定義します。本ツールでは、301 および 308 ステータスコードを「永久的」なリダイレクトとして分類します。これらは、リソースが恒久的に新しい場所に移動したことを示します。一方、302、303、および 307 ステータスコードは「一時的」なリダイレクトとして分類されます。これらは、一時的な理由でリソースが別の場所に存在することを示し、将来的に元の URL に戻る可能性がある場合に使用されます。
Location ヘッダーと URL の解決
リダイレクト処理において、Location ヘッダーは次に遷移すべきターゲットを示します。このヘッダーの値には、絶対 URL(例:https://example.com/page)または相対 URL(例:/signin)が指定されます。
相対 URL が指定された場合、そのホップの基準となる URL に対して解決処理を行う必要があります。最初の応答が相対的な Location を使用している場合、基準となる「URL の開始 (オプション)」の入力が必要です。最初のホップで開始 URL を指定して解決した後は、後続のホップにおいて、直前のステップで「解決された目標」となった URL を基準として次の相対 URL を解決します。
リダイレクトチェーンにおける一般的な問題
複雑なリダイレクトチェーンを運用する際、いくつかの技術的な問題が発生することがあります。
- ループ: リダイレクトが循環し、無限に遷移を繰り返す状態です。
- HTTPS ダウングレード: セキュリティで保護された HTTPS 接続から、保護されていない HTTP 接続へリダイレクトされる現象です。
- Location がありません: リダイレクトステータスコードが返されているにもかかわらず、遷移先を示す
Locationヘッダーが存在しない状態です。 - 無効な Location:
Locationヘッダーの値が不正であり、正しい URL として解析できない状態です。
ツールの解析ルールと制限事項
本ツールは、ユーザーが貼り付けたテキストデータのみを対象に静的解析を行います。実際にネットワークを介して対象の URL にアクセスしたり、サーバーの稼働状況やヘッダーの真正性を検証したりすることはありません。また、ブラウザごとの挙動の違いをテストすることもありません。
解析における具体的な制限および仕様は以下の通りです。
- 最大文字数: 入力可能な最大サイズは 100,000 文字です。これを超える場合は「この入力は大きすぎます。
‹max›文字以内にしてください。」というエラーが表示されます。 - 最大ホップ数: 解析可能なリダイレクトは最大 50 ホップです。これを超える場合は「このツールは、トレースごとに最大
‹hops›ホップを受け入れます。」というエラーが表示されます。 - 入力形式の検証: 入力されたテキストに行単位の不整合がある場合、「行
‹line›は、応答ヘッダーまたはサポートされているステータスおよびターゲット行ではありません。」などのエラーが発生し、無効な入力が提供された場合は以前の表示結果がすべてクリアされます。
プライバシーとデータ処理
本ツールに入力された URL や応答ヘッダーなどのデータは、すべて利用者のブラウザ内部で処理されます。外部のサーバーにアップロードされたり、保存されたりすることはありません。解析処理はローカルデバイス上で行われます。
よくある質問 (FAQ)
どのトレース形式を貼り付けることができますか?
連続した HTTP 応答ヘッダー ブロックを貼り付けるか、先頭の URL に続いて 301 /new や 200 などの行を使用します。完全なソース-ステータス-ターゲット行も受け入れられます。
相対的な Location 値はどのように解決されますか?
/signin などの値は、そのホップの URL に対して解決されます。最初の応答が相対 Location を使用する場合は、開始 URL を追加します。後のホップでは、以前に解決されたターゲットが使用されます。
このツールは URL にアクセスまたは検証しますか?
いいえ。貼り付けたテキストのみが分析されます。サイトにアクセスできるかどうか、ヘッダーが本物かどうか、ブラウザが同じチェーンをたどるかどうかはテストされません。