10. Domain Name IDNA-Canonicalization (域名IDNA规范化)
IDNA规范化的域名 (IDNA-canonicalized domain name) 是由以下步骤生成的输出字符串. 输入是一个推定的域名字符串, 表面上由任何"A-labels"、"U-labels"和"NR-LDH labels" (参见 [RFC5890] 第2节) 的组合使用某个分隔符字符 (通常是".") 连接而成.
-
将输入的推定域名字符串转换为保持顺序的各个标签字符串序列.
-
当实现IDNA2008时, 使用 [RFC5891] 第5.3节到第5.5节中定义的过程转换、验证和测试在各个标签字符串序列中找到的每个A-label和U-label.
否则, 当实现IDNA2003时, 使用 [RFC3490] 第4节中的"ToASCII"转换来转换每个标签 (另请参见 [RFC3490] 第2节中"标签等价性 (equivalence of labels)"的定义).
-
如果前面的步骤中没有发生错误, 则按顺序将序列中的所有标签连接成一个字符串, 用%x2E (".")字符将每个标签与下一个标签分隔开. 结果字符串称为IDNA规范化的域名, 适合在第8节 ("User Agent Processing Model") 的上下文中使用.
否则, 发生了错误. 输入的推定域名字符串未成功进行IDNA规范化. 此过程的调用者应尝试适当的错误恢复.
另请参见本规范的第13节 ("Internationalized Domain Names for Applications (IDNA): Dependency and Migration") 和第14.10节 ("Internationalized Domain Names") 了解进一步的详细信息和注意事项.