@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:FOO@example.comとacct:foo@example.comは異なるURIとして扱われます。- これは以下の理由によります:
- スキーム部分(
acct:)は大小文字を区別しません。 - ホスト部分(
example.com)は大小文字を区別しません。 - ユーザー部分(
FOOとfoo)は大小文字を区別します。これは、スキームによって特に別途定義されていない限り、ジェネリック構文の構成要素は大小文字を区別するというRFC 3986の規定に従うためです。
- スキーム部分(
お役に立てば幸いです!
datatracker.ietf.org
RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]
