
洪 民憙 (Hong Minhee)
@[email protected] · Reply to 甘瀬ここあ ☕'s post
@cocoa_vrc 区別していますね!しかし、アプリケーション開発者が希望すれば、区別しない様にする事も出来ます。ちなみに、区別する根拠は以下の通りです。
acct:
URIのユーザー部分の大小文字の区別について、二つのRFCを根拠に説明させていただきます。
RFC 7565の4章「定義」(Definition)の最後では、acct:
URIの比較について以下の様に規定しています:
アプリケーションが二つの
acct:
URIを比較する必要がある場合(例:認証や認可の目的で)RFC 3986の6.2.2.1節と6.2.2.2節で規定されている大小文字の正規化とパーセントエンコーディングの正規化を使用しなければなりません。
そして、RFC 3986の6.2.2.1節「大小文字の区別」(Case Normalization)では以下のように規定しています:(強調は私がしました)
URIがジェネリック構文の構成要素を使用する場合、構成要素の構文同等性規則が常に適用されます。つまり、スキームとホストは大小文字を区別せず、したがって小文字に正規化されるべきです。例えば、URI
HTTP://www.EXAMPLE.com/
はhttp://www.example.com/
と同等です。その他のジェネリック構文の構成要素は、スキームによって特に別途定義されない限り、大小文字を区別するものと見なされます。
したがって:
acct:[email protected]
とacct:[email protected]
は異なるURIとして扱われます。- これは以下の理由によります:
- スキーム部分(
acct:
)は大小文字を区別しません。 - ホスト部分(
example.com
)は大小文字を区別しません。 - ユーザー部分(
FOO
とfoo
)は大小文字を区別します。これは、スキームによって特に別途定義されていない限り、ジェネリック構文の構成要素は大小文字を区別するというRFC 3986の規定に従うためです。
- スキーム部分(
お役に立てば幸いです!