[28] ドメイン名を記述するプロトコル要素のことを一般にドメイン名スロットといいます。
[29] ドメイン名スロットの例としては、DNS 照会の QNAME
欄、
gethostbyname()
関数の name
引数、
電子メール・アドレスのドメイン名部分などがあります。
[30] ドメイン名がたまたま含まれるに過ぎない時、そのドメイン名の部分はドメイン名スロットではありません。 例えば電子メールの本文中にドメイン名を書いていても、それはドメイン名スロットとはいいません。
この文書では、ドメイン名スロットは、 ドメイン名を伝播すると陽に指定されたプロトコル要素、 関数の引数、返し値、その他と定義します。 ドメイン名スロットの例: DNS 照会の
QNAME
欄、gethostbyname()
ライブラリ関数のname
引数、 電子メイル・メッセージ頭部のFrom:
欄の電子メイル・アドレスの単価記号 (@
) に続く部分、 HTMLimg
タグのsrc
属性の URI のhost
部分。 ドメイン名をたまたま含む普通の文章はドメイン名スロットではありません。 例えば、電子メイル・メッセージの平文本体に含まれるドメイン名は、 ドメイン名スロットに現れたものではありません。 >>2, >>27
[34] IDNA は、明示的に除外されている場合を除き、 LDHラベルの構文を使ったドメイン名スロットに適用されます。 >>33
[35] 旧来のプロトコルのドメイン名スロットでは、そのプロトコルや実装が更新されていない限り、 IDN はAラベルによって表さなければなりません。 特に DNS の照会や応答ではAラベル形を使わなければなりません。 >>33
[23] ドメイン名がIDN未対応ドメイン名スロットに入れられる時には、 ASCII文字のみを含まなければなりません。そのために、 IDN と等価な ASCII文字のみのドメイン名を、
... 必要があります >>17。
[24] ドメイン名スロットでACEラベルが用いられている場合には、次のようにします >>17。
IDN から ACEラベルを含まない等価なドメイン名へは、各ラベルに ToUnicode 演算を適用することで変換できます。 >>17
[36] IDNA2003 でも IDNA2008 でも、IETF の原則に倣って利用者インターフェイスは規定の範囲外としています。
[45] IDNA2003 では Nameprep などによりプロトコル内部で文字の正規化や case folding を行っていました。 (ToASCII の項を参照してください。)
[38] 一方 IDNA2008 はプロトコル内部において正規化や case folding のような写像を行っておらず、 アプリケーションの範疇とされています。これは言語による違いが大きく、 大文字と小文字の対応付けが使う人によっては不自然になってしまうこと、 大文字化したものを小文字化しても元に戻らなかったり正規化によって変更されたりで UラベルとAラベルの完全な対応関係が崩れてしまうことを避けるという意図があるようです。 >>39
[43] GREEK SMALL LETTER FINAL SIGMA
などいくつかの文字は
case folding と正規化によって IDNA2003 では他の文字に変換されてしまい、
IDN では表現できませんでした。 IDNA2008 はこれを廃したために表現できるようになっています。
>>42
[46] IDNA2008 は、 IDNA2003 の方法は利用者の IM による入力の際の鍵盤などの入力から Unicode 符号位置への変換と、プロトコル内の Nameprep による変換で2回変換が行われ、 利用者にとって自明でない結果になってしまうことがあると指摘しています >>44。
[3] ドメイン名スロットには、IDN対応ドメイン名スロットとIDN未対応ドメイン名スロットがあります。