在UTF8编码的超文本标记语言文档中,使用IDN作为src和href属性的值是否有效?
<a href="http://موقع.وزارة-الاتصالات.مصر/">ICT</a>是否有任何反对意见强制使用Punycode编码版本?
<a href="http://xn--4gbrim.xn----ymcbaaajlc6dj7bxne2c.xn--wgbh1c/">ICT</a>我不确定现代用户代理是否将href视为“IDN-unaware domain name slot”。
发布于 2014-06-02 02:53:16
查看a-tag的超文本标记语言规范可以看出,href是一个hyperlink。
当我在2014年回答这个问题时,它说href是一个URI,URI是在RFC3987 Internationalized Resource Identifiers中定义的。如果您遵循hyperlink中的链接,您会发现一个指向URL: Living standard的链接,该链接在目标中同时提到了RFC3986和RFC3987。
来自RFC 3987:
抽象
该文档定义了一个新的协议元素,即国际化资源标识符(IRI),作为对统一资源标识符(URI)的补充。IRI是通用字符集(Unicode/ISO 10646)中的字符序列。定义了从IRI到URI的映射,这意味着在适当的情况下,可以使用IRI代替URI来标识资源。
所以简单的答案是:是的,您可以在href中使用idn,至少对于HTML5文档是这样。但是,如果您的文本是双向的,您应该查看RFC3987第4节。
这个答案是在2018年更新的,在JohnT要求我更新断开的链接之后。
https://stackoverflow.com/questions/23738042
复制相似问题