使い方
- https://などのスキームを含む完全なURLを貼り付けます。
- 構成要素の一覧を確認します。コピー用ボタンを使うと、ホスト名やパスなどの項目を個別にコピーできます。
- クエリパラメーターを確認します。値はデコードされ、元の順序のまま表示され、同じ名前のパラメーターも保持されます。
- パラメーターを変更、追加、削除してから、再構築したURLをコピーします。
仕組み
このツールは、ブラウザーに組み込まれたURLパーサー(WHATWG URL Standard)を使用します。そのため、ブラウザーでリンクを開いたときと同じ結果になります。URLも同じ方法で正規化され、スキームとホスト名は小文字になり、httpsの443などの既定ポートは省略され、/a/../bのようなパスは解決されます。
表示される項目は、プロトコル(スキーム)、URLに認証情報が含まれる場合のユーザー名とパスワード、ポートを含むホスト、ホスト名のみ、ポート、パス、?から始まるクエリ文字列、#から始まるフラグメント、そしてオリジン(スキーム、ホスト、ポート)です。オリジンは、ブラウザーが同一オリジンのセキュリティチェックに使用します。パスワードは、目のアイコンをクリックするまで非表示です。
クエリパラメーターの読み取りにはURLSearchParamsを使用します。値はパーセントデコードされ、HTMLフォーム送信と同様に+はスペースとして扱われます。size=42&size=43のように同じパラメーターが複数回出現する場合は、多くのサーバーがリストとして読み取るため、出現した順に個別に表示されます。
パラメーターを編集すると、クエリ文字列もURLSearchParamsで再構築されます。その際、編集していない部分の表記が変わることがあります。たとえば、スペースは+になり、'や~などの文字は別の方法でエスケープされる場合があります。フォーム形式のクエリを読み取るサーバーでは、意味は変わりません。
ASCII以外の文字を含むホスト名(国際化ドメイン名)は、URLパーサーによってpunycodeに変換されます。たとえば、münchen.deはxn--mnchen-3ya.deになります。このツールでは両方の形式を表示します。
使用例
トラッキングパラメーターを確認する
https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring+saleのようなキャンペーンリンクを貼り付けると、各utm_の値(「spring sale」など)がデコードされて表示されます。不要な値を削除して、整理したリンクをコピーできます。
リダイレクトURLを調べる
ログインリンクにredirect=https%3A%2F%2Fapp.example.com%2Fdashboard%3Ftab%3D2が含まれています。パラメーターの一覧にはデコード後の値https://app.example.com/dashboard?tab=2が表示されるため、ユーザーがどこに移動するかを正確に確認できます。
CORS用のオリジンを確認する
https://api.example.com:8443/v1/users?id=7のオリジンはhttps://api.example.com:8443です。Access-Control-Allow-Originヘッダーには、パスや末尾のスラッシュを含まない、この文字列と完全に一致する値を指定する必要があります。
よくある質問
ホストとホスト名の違いは何ですか?
ホスト名はドメインまたはIPアドレスのみを指します(example.com)。ホストには、URLで既定以外のポートが指定されている場合、そのポートも含まれます(example.com:8443)。https://example.com:443/の場合は、443がhttpsの既定ポートで省略されるため、どちらもexample.comになります。
スキームがないというエラーがURLに表示されるのはなぜですか?
https://のようなスキームがない「example.com/page」は絶対URLではありません。また、「example.com:8080」はスキームが「example.com」のURLとして解釈されます。このツールではhttps://を自動で追加できます。
パラメーターの値で+がスペースとして表示されるのはなぜですか?
クエリ文字列は通常、フォームデータ(application/x-www-form-urlencoded)として読み取られ、+はスペースを表します。プラス記号そのものを送るには%2Bを使用します。これはURLSearchParamsやほとんどのサーバーフレームワークの動作です。
同じ名前のパラメーターはどうなりますか?
すべて元の順序のまま保持され、それぞれ個別の行に表示されます。行を削除すると、その出現箇所だけが削除されます。
punycodeとは何ですか?
DNSで使えるホスト名はASCII文字に限られるため、国際化ドメイン名はxn--で始まる形式に変換されます。たとえば、bücher.exampleはxn--bcher-kva.exampleとして送信されます。通常、ブラウザーのアドレスバーには読みやすい形式で表示されます。
プライバシー
URLはブラウザー内蔵のURLパーサーで解析されます。URLへのリクエストは行われず、貼り付けた内容がアップロード、保存、分析データに含まれることもありません。