1

在 UTF-8 编码的 HTML 文档中,使用IDN作为值srchref属性是否有效?

<a href="http://موقع.وزارة-الاتصالات.مصر/">ICT</a>

是否存在强制使用 Punycode 编码版本的反对意见?

<a href="http://xn--4gbrim.xn----ymcbaaajlc6dj7bxne2c.xn--wgbh1c/">ICT</a>

我不确定现代用户代理是否将 ahref视为“<a href="http://www.ietf.org/rfc/rfc3490.txt" rel="nofollow">IDN-unaware domain name slot”。

4

1 回答 1

1

查看a-tag的 HTML 规范说这href是一个超链接

当我在 2014 年回答这个问题时,它说 href 是一个 URI,并且 URI 是在RFC3987 Internationalized Resource Identifiers中定义的。如果您点击超链接中的链接,您会找到指向 URL 的链接:在目标中同时提到 RFC 3986 和 RFC 3987 的生活标准。

来自 RFC 3987:

抽象的

本文档定义了一个新的协议元素,即国际化资源标识符 (IRI),作为对统一资源标识符 (URI) 的补充。IRI 是来自通用字符集 (Unicode/ISO 10646) 的字符序列。定义了从 IRI 到 URI 的映射,这意味着可以在适当的情况下使用 IRI 代替 URI 来标识资源。

所以简单的答案是:是的,您可以在 href 中使用 idn,至少对于 HTML 5 文档。但是,如果您的文本是双向的,您应该查看 RFC 3987 第 4 节。

在JohnT要求我更新损坏的链接之后,此答案于 2018 年更新。

于 2014-06-01T18:53:15.980 回答