URL解析 — 構成要素とクエリパラメーターを確認
URLの構成要素の分解・デコード、国際化ドメイン、クエリパラメーターの編集
ブラウザー内で処理・アップロード不要
URL解析ツールとは
長いURLは、どこまでがホストでどこからがクエリなのか、目で追うのが大変です。このツールはアドレスをプロトコル、認証情報、ホスト、ポート、パス、クエリ、ハッシュに分け、パーセントエンコードされた値をデコードして読めるようにします。クエリパラメーターは表の中で直接編集できます。
使い方
- URL欄に
https://で始まる完全なアドレスを貼り付けます。 - 「URLの構成要素」の表で、各パーツの元の値とデコードした値を確認し、必要なものをコピーします。
- 「クエリパラメーター」の表で、キーや値を編集したり、削除・追加ボタンを使ったりします。
- 変更はすぐに入力欄のURLに反映されるので、そのまま結果をコピーできます。
仕組み
- 解析はWHATWGのURL標準を実装したブラウザーの
URLオブジェクトが行います。独自のパーサーではないので、結果はブラウザーの動作と一致します。 - 構成要素は
protocol、username、password、hostname、port、origin、pathname、search、hashです。既定のポートは空欄で表示されます。 - パーセントエンコード(
%E3%81%82)はUTF-8としてデコードします。形式が正しくないエスケープはそのまま残します。 - 国際化ドメインのホストは、RFC 3492のPunycodeの規則に従って
xn--の形とUnicodeの形の間で変換します。 - クエリパラメーターは
URLSearchParamsで読み書きします。同じキーが繰り返されても順番は保たれ、値のないキー(?flag)は値が空のものとして表示します。 - スキームがない、ホストが空、余計なスペースがあるといった入力にはエラーメッセージを表示し、それ以外は何もしません。このツールがそのアドレスに接続することはありません。
例
| 入力 | 結果 |
|---|---|
https://münchen.de/straße |
ホストxn--mnchen-3ya.de、Unicodemünchen.de |
https://例え.テスト/パス?名前=山田 太郎#ハッシュ |
パス/%E3%83%91%E3%82%B9、デコードすると/パス、パラメーター名前=山田 太郎 |
https://example.com:443/a |
ポートは空欄(既定のポート) |
https://e.com/?q=%F0%9F%98%80 |
q = 😀 |
補足
- アドレスにユーザー名やパスワードが含まれている場合は、お知らせを表示します。そうしたURLは共有画面に映さないようにしてください。
mailto:やftp:など、ほかのスキームも構成要素に分解できます。
よくある質問
URLはどの規則で解析していますか?
ブラウザーに組み込まれた`URL` APIが実装しているWHATWGのURL標準です。アドレスバーやリンクとまったく同じように解析するので、ホスト名は小文字になり、既定のポート(httpsは443、httpは80)は省かれ、パスの`..`も自動で解決されます。
日本語ドメインなどの国際化ドメイン名はどう表示されますか?
Unicodeのホストは標準に従ってPunycode(`xn--`で始まるASCIIの形)に変換され、「ホスト(ASCII)」に表示されます。元の読みやすい形は「ホスト(Unicode)」に表示されます。すでにPunycodeになっているアドレスを貼り付けると、Unicodeに戻して表示します。
example.com/pathがエラーになるのはなぜですか?
URL標準では、`https://`のようなスキームがないと完全なURLとして扱われません。スキームがなければプロトコルがわからないため、スキームを付けるよう求めるエラーが表示されます。
クエリパラメーターを編集すると元のURLも変わりますか?
キーや値を編集したり、パラメーターを追加・削除したりすると、上の入力欄のURLが書き換わります。パスとハッシュはそのままで、クエリはURLSearchParamsの規則で再エンコードされます(スペースは+に、ASCII以外の文字は%XXになります)。