アドレスになっていない行と壊れたパーセントエンコード

スキームがない行、途中に空白がある行、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 組

正規化したアドレスの一覧

正規化したアドレスの一覧
行元のアドレス正規化後のアドレス
1example.com/page(正規化できません)
2https://exa mple.com/(正規化できません)
3https://example.com/?q=%E3%81https://example.com/?q=%E3%81

検算(この結果になる理由)

1 行目はスキームとホスト(://)がなく、2 行目は空白を含むため、どちらもエラーで正規化されません。3 行目の %E3%81 は UTF-8 の途中で切れており、WHATWG URL 5.1 の読み方では戻せないので元の表記のまま残し、警告が 1 件です。

判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。

このツールの制約

ご利用にあたって

  • 正規化後のアドレスは書き方の整理であり、実際のリダイレクトや canonical の設定は別に確認してください。
  • 大量のアドレスを貼り付けると、お使いの端末の性能によって処理に時間がかかることがあります。

ほかの入力例