IDNA
Internationalized Domain Names for Applications (IDNA)
アプリケーションにおけるドメイン名の国際化(IDNA)
表記的にDNS上で国際化ドメイン名が利用できる仕組み DNSではなくアプリケーション側で対応する
RFC 3490 - 3492,3454 IDNA2003
アプリケーションからドメイン名検索に漢字などのUnicode文字を含めて扱う方法をまとめたもの 正規化はIDNA2008ではUnicode UTS #46 で事前にすることになったのかな? Unicode正規化はNFKCで互換文字を変換するのが妥当かな
IDNA2003で使えた区切り文字..。。はIDNA2008で.のみに戻されている
IDNA2008
RFC 5890 アプリケーションにおけるドメイン名の国際化 (IDNA): 定義と文書フレームワーク Definitions and Document Framework
Defs または Definitions と呼ばれる (非公式)
ラベルの分け方みたいなの
RFC 5891 アプリケーションにおけるドメイン名の国際化 (IDNA): Protocol
Protocol と呼ばれる (非公式)
RFC 5892 The Unicode Code Points とアプリケーションにおけるドメイン名の国際化 (IDNA)
Tables と呼ばれる (非公式)
RFC 5893 アプリケーションにおけるドメイン名の国際化 (IDNA) における右から左に表記する用字
Bidi と呼ばれる (非公式)
RFC 5894 アプリケーションにおけるドメイン名の国際化 (IDNA): Background, Explanation, and Rationale
Rationate と呼ばれる (非公式)
RFC 5895 Mapping Characters for アプリケーションにおけるドメイン名の国際化 (IDNA) 2008 JPRS訳 UTS #46: Unicode IDNA Compatibility Processing Revision 33 で Unicode 16.0.0 に対応している?
Unicode の更新に対応したもの
RFC 6452 The Unicode Code Points and アプリケーションにおけるドメイン名の国際化 (IDNA) - Unicode 6.0
変更なし?
RFC 6912 Principles for Unicode Code Point Inclusion in Labels in the DNS
RFC 8753 Update 5892 アプリケーションにおけるドメイン名の国際化 (IDNA) Review for New Unicode Versions
RFC 9233 アプリケーションにおけるドメイン名の国際化 2008 (IDNA2008) と Unicode 12.0.0
中国のドメイン名
RFC 4713 Registration and Administration Recommendations for Chinese Domain Names
RFC 8264 PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols RFC 7564 PRECIS Framework 廃止 → 8264
IDNA2003
RFC 3490 廃止 →5890 , 5891
RFC 3492 Punycode: A Bootstring encoding of Unicode for アプリケーションにおけるドメイン名の国際化 (IDNA) →Updated 5891 RFC 4690 Review and Recommendations for Internationalized Domain Names (IDNs)
RFC 3743 Joint Engineering Team (JET) Guidelines for Internationalized Domain Names (IDN) Registration and Administration for Chinese, Japanese, and Korean
RFC 1034
RFC 1035
ドメイン名
www.example.com
テキストラベル、ラベル
www example com の個々
LDHコードポイント
Unicode の英字 0041..005A, 0061..007A, 数字 0030..0039, ハイフン(マイナス) 002D のいずれかを含む
ACEプレフィックス xn-- ASCII-Compatible Encodingの略 頭に付ける文字
LDHラベル ドメイン名に使用できるラベルの文字集合
NR-LDH (Non-Reserved) 3文字目、4文字目に--を含まない
R-LDH タグ付きドメイン名 3文字、4文字目に -- を含む
XN-LDH xn-- ではじまる
A-ラベル nx--以降がIDNA有効検査で有効 (ASCII文字59文字)
疑似A-ラベル 他
xn--以外ではじまる 通常のLDHラベルではない
非LDHラベル
ハイフンで開始または終了
他の非LDH ASCII文字で構成 #$%_ など IDNAではA-ラベル、U-ラベル、NR-LDHラベルが有効
table:IDNA比較
Unicode正規化 符号化 区切り文字 利用可能Unicodeバージョン 利用可能文字
IDNA2003 NFKC ACE Punycode ..。。 Unicode 3.2ぐらい Stringprep / Nameprep
IDNA2008 NFC 事前 (自由?) ACE Punycode . 制限なし Unicode UTS #46 電子メール
EAI
Java
java.net.IDN は IDNA2003
java.net.URI が RFC 2396ベース RFC 3986 に未対応