アドレスになっていない行と壊れたパーセントエンコード
スキームがない行、途中に空白がある行、UTF-8 として読めない %エンコードを含む行が混ざった壊れた例です。読めない行は理由つきで示し、残りは処理します。
入力
アドレスの一覧(1 行に 1 つ)
example.com/page https://exa mple.com/ https://example.com/?q=%E3%81
クエリ(? 以降)をパラメータ名の順に並べ替える
はい
パスの末尾のスラッシュ
そのまま(違いを警告する)
# 以降(フラグメント)
残す
結果
エラー 2 件・警告 1 件・情報 0 件
指摘(エラー・警告・情報)
- エラー 1 行目 スキーム(https:// など)とホストを含む絶対のアドレスではありません。
- エラー 2 行目 アドレスの途中に空白があります。アドレスには空白を含められません(RFC 3986 では %20 と書きます)。
- 警告 3 行目 クエリに UTF-8 として読めないパーセントエンコードがあるため、その部分は元の表記のまま残しました。
| アドレスの数 | 3 件 |
|---|---|
| 正規化後の種類 | 1 種類(同じになって減る数: 0 件) |
| 正規化できなかった行 | 2 件 |
| クエリだけ違うグループ | 0 組 |
| 大文字小文字だけ違うグループ | 0 組 |
正規化したアドレスの一覧
| 行 | 元のアドレス | 正規化後のアドレス |
|---|---|---|
| 1 | example.com/page | (正規化できません) |
| 2 | https://exa mple.com/ | (正規化できません) |
| 3 | https://example.com/?q=%E3%81 | https://example.com/?q=%E3%81 |
検算(この結果になる理由)
1 行目はスキームとホスト(://)がなく、2 行目は空白を含むため、どちらもエラーで正規化されません。3 行目の %E3%81 は UTF-8 の途中で切れており、WHATWG URL 5.1 の読み方では戻せないので元の表記のまま残し、警告が 1 件です。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- アドレスへアクセスして内容を確かめることはしません。表記が違うアドレスが実際に同じページかどうかは、サイト側の設定を確認してください。
- RFC 3986 の正規化にもとづくもので、ブラウザの URL の解析(WHATWG URL の全規則)とは細部が異なります。国際化ドメイン名の変換や IPv6 の表記ゆれの統一は行いません。
- 同じ名前のパラメータの順序は保ちますが、同じ名前を 1 つにまとめることや、特定のパラメータ(utm_ など)を取り除くことはしません。
- 絶対のアドレス(スキームとホストがあるもの)だけを扱います。相対のアドレスは、別の「相対アドレスを絶対に変換する」ツールで解決してください。
ご利用にあたって
- 正規化後のアドレスは書き方の整理であり、実際のリダイレクトや canonical の設定は別に確認してください。
- 大量のアドレスを貼り付けると、お使いの端末の性能によって処理に時間がかかることがあります。