メインコンテンツまでスキップ

6. 正規化と比較 (Normalization and Comparison)

6.1. 等価性 (Equivalence)

URIの等価性の定義は、アプリケーションの要件に依存します。

6.2. 比較ラダー (Comparison Ladder)

6.2.1. 単純な文字列比較 (Simple String Comparison)

最速ですが、最も不正確な比較方法です。

6.2.2. 構文ベースの正規化 (Syntax-Based Normalization)

次のものを含みます:

  • 大文字小文字の正規化(スキームとホスト)
  • パーセントエンコーディングの正規化
  • パスセグメントの正規化

HTTP://Example.COM/path  →  http://example.com/path
http://example.com/%7Euser → http://example.com/~user
http://example.com/a/./b/../c → http://example.com/a/c

6.2.3. スキームベースの正規化 (Scheme-Based Normalization)

デフォルトポートの削除など。

http://example.com:80/  →  http://example.com/
https://example.com:443/ → https://example.com/

6.2.4. プロトコルベースの正規化 (Protocol-Based Normalization)

リソースへのアクセスに関するプロトコル固有の知識が必要です。


次の章: 7. セキュリティに関する考慮事項 (Security Considerations) - URIセキュリティの問題