你能否提供一个证据(例如 RFC 部分)来证明,以前非法的 7 位 ASCII 字符(如普通的旧 ASCII 空格,代码 0x20)仍然不允许使用国际化域名?
答案1
RFC5894 第 3 节怎么样?https://www.rfc-editor.org/rfc/rfc5894#page-9
IDNA2008 采用包含模型。除非代码点作为基于 Unicode 属性的规则的一部分被包含,或者在极少数情况下,通过例外单独包含,否则该代码点将被视为对 IDN 使用无效。
在第 3.1 节中:
IDNA2008 将所有可能的 Unicode 代码点分为四类:PROTOCOL-VALID、CONTEXTUAL RULE REQUIRED、DISALLOWED 和 UNASSIGNED。
现在,RFC5892 第 2 节和第 3 节命名了允许的代码点。 https://www.rfc-editor.org/rfc/rfc5892
具体来说:
2.1. 允许“字母数字”请注意,没有说标点符号...
2.2. 不允许“不稳定”有争议的、可变的或尚未证实的事情。
2.3. 不允许“IgnorableProperties”包括默认可忽略代码点、空白和非字符代码点
2.4. 禁止“IgnorableBlocks”包括变音符号和格式字符
2.5. 特别允许“LDH”这是老式 DNS 在 Unicode 中允许的常见 ASCII {002D,0030..0039,0061..007A}
2.6. 指定“例外”涵盖了 Unicode 中标记为不允许的类别之一的某些字符,但对于某种语言来说却是必需的
2.7. 到 2.10. 涵盖了更加模糊的情况,并且针对随着 Unicode 的发展而改变状态的事物进行了未来的验证。
答案2
您能否提供一个证据(例如 RFC 部分)来证明以前非法的 7 位 ASCII 字符(如普通的旧 ASCII 空格,代码 0x20)在 IDN 中仍然被禁止?
空格字符是控制字符,因此在域名中严格禁止使用。建议使用连字符(Al-sharta,即 u+02D)作为阿拉伯语单词之间的分隔符,以避免在输入单词时不使用分隔符而产生混淆。
可以使用连字符来分隔同一域名标签内的单词。