11. 名前の構文 (Name syntax)
この節では DNS 名の構文について扱います。DNS 名はドットで区切られたラベルの並びです。 各ラベルは文字の並びで、最大長は 63 文字です。ドメイン名の全長 (ドットを含む) は 255 文字に制限されます。これは、ドメイン名の長さを 255 オクテット (バイト)、文字ではなく、 に制限していた RFC1034 からの変更です。
ラベルで許可される文字は、英字 (A-Z および a-z)、数字 (0-9)、およびハイフン (-) です。 ラベルの最初および最後の文字はハイフンであってはなりません (must not)。ラベルは大文字と 小文字を区別しません。すなわち、"example.COM" と "example.com" は同じ名前です。
下線 (_) は、サービス位置 (SRV) レコード [RFC2052] の特殊な場合 (この場合、下線は サービス名とプロトコル名のプレフィックスとして使用される) を除き、ラベルに許可されません。
任意のバイナリ文字列は、DNS ラベルとして表現できます。"xn--" プレフィックス (Punycode 符号化 [RFC3492] 用) や "[" 記法 (オクテットの転置列用) を使用します。これにより、DNS 名は標準文字セットにない文字を含むことができます。
DNS 名には、ラベルで許可されない文字を含めてはなりません (must not)。すなわち、"/" や ":" などの文字は DNS 名に許可されません。
ルートラベル ("") は特別な場合です。これは文字の並びではない唯一のラベルであり、名前の 末尾のドットで表されます。