为什么 http://d§.cc/ 是有效的 URL?

为什么 http://d§.cc/ 是有效的 URL?

今天上网浏览时,我偶然发现了以下网址:

http://d§.cc/

不知何故,它起作用了。在 Firefox 3.6/Mac 中,浏览器似乎将 URL 解释为:

http://xn--d-jca.cc/

在 Safari 5/Mac 中,当我导航到它时,URL 不会改变。

我一直认为 § 字符 (部分标志) 等在 URL 中无效。引用RFC 1738

因此,只有字母数字、特殊字符“$-_.+!*'(),”以及用于保留目的的保留字符可以在 URL 中以未编码的形式使用。

这是字符编码的异常吗?以及,如何/在哪里可以注册我自己的§URL?

答案1

这是一国际化域名或 IDN。它使用的编码称为域名代码

许多大型注册商都从事 IDN 域名销售业务,包括 GoDaddy,但当我注册我的虚荣 IDN (ə.tv) 时,我发现 Name.com 更简单。它们的价格与“常规”域名相同。

以下是有效 IDN 字符列表--但是请注意,其中的许多字符无法在所有字体中正确显示,因此如果您正在寻找 IDN,请确保在购买之前在目标平台上使用常用字体对其进行测试。

答案2

这称为 IDN(国际化域名)。它与 URI 无关,它是 DNS(域名系统)的一项功能,可将人类可读的 DNS 名称(例如 )解析www.example.com为 IP 地址(例如 )127.0.0.1

由于最初的域名系统仅支持 ASCII,因此以向后兼容的方式引入了 IDN:包含非 ASCII 字符的 DNS 名称使用名为 Punycode 的算法编码为仅包含 ASCII 字符的 DNS 名称,该算法专门设计用于高效处理通常包含在 DNS 名称中的字符串类型,并且即使在编码形式下仍具有一定的人类可读性。

IDN 的主要目的,顾名思义,就是让注册英语以外的语言域名成为可能。然而,副作用是,现在全部Unicode 字符(包括与非英语语言实际上无关的符号)可用于域名。

相关内容