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セキュリティの問題