URL分解ツール | プロトコル・ホスト・クエリを一目で把握
URLを貼り付けるだけで、プロトコル・ホスト名・ポート・パス・クエリパラメータ・フラグメントの6要素に分解します。各部分を色分けして表示し、分解テーブルはそのままテキストとしてコピーできます。
💡 このツールについて
API開発やWebデバッグの現場では「このリダイレクトURLのクエリパラメータは何が入っているのか」「ポート番号は明示されているのか」を素早く確認したい場面が頻繁にあります。長いURLを目視で追うと、?と&の境界や#以降のフラグメントを見落としがちです。
このツールはブラウザ標準のURLオブジェクトでパースを行い、https://のプロトコルから#sectionのフラグメントまでを構造化して並べます。クエリパラメータはkey = valueの形で1行ずつ展開されるため、エンコードされた長いクエリ文字列でも各キーの値が一目で読めます。ユーザー名・パスワード入りのURL(user:pass@host形式)にも対応し、認証情報が含まれている場合は別の色で警告的に表示されます。
解析処理はブラウザ内で完結するため、社内システムのURLや認証トークン付きのリンクもそのまま貼り付けて構造を確認できます。
🧐 よくある質問
Q. 不完全なURLでも解析できますか?
A. ブラウザのURLコンストラクタが受け付ける形式が前提です。example.comのようにプロトコルがない文字列はエラー表示になります。https://example.comのように補って入力してください。
Q. クエリパラメータの順序は変わりますか? A. 入力された出現順をそのまま保持します。並べ替えは行いません。
Q. 同じキーが複数回あるクエリ(?a=1&a=2)はどう表示されますか?
A. それぞれ独立した行として両方表示されます。重複を統合したり最後の値だけ残したりはしません。
Q. 日本語やエンコードされた文字(%E3%...)はどうなりますか?
A. URLオブジェクトの仕様に従い、ホスト名は変換され、パスはパーセントエンコードされたまま表示されますが、クエリパラメータの値はデコードされて読みやすい文字列として表示されます(例: %20は半角スペースとして表示)。
Q. ポートが省略されている場合は?
A. URLにポート番号が明示されていない場合、ポート行は表示されません。:8080のように明示されているときのみ抽出します。
📚 URL構造の豆知識
URLの正式な構文はRFC 3986で定義されており、scheme://user:password@host:port/path?query#fragmentという階層構造を持ちます。実は#以降のフラグメント識別子はサーバーに送信されず、ブラウザ内でアンカー位置の指定にのみ使われます。SPAのルーティングでハッシュが多用されるのはこの「サーバーに届かない」性質を利用しているためです。また、ポート番号を省略するとhttpは80番、httpsは443番が暗黙的に使われます。ホスト名に国際化ドメイン(日本語ドメインなど)を入れると、内部的にPunycode(xn--で始まる形式)へ変換される点も、デバッグ時に覚えておくと役立ちます。