使用包含非 ASCII 字符的 IRI 作为属性值(例如,用于href
属性)而不是 URI 是否是有效的 HTML?HTML 风格(HTML 和 XHTML,4 和 5)之间有什么区别吗?至少RFC 3986似乎暗示它不是。
我意识到使用百分比编码可能会更安全(关于旧的和不知道 IRI 的软件),但我正在寻找关于标准的明确答案。
到目前为止,我已经使用W3C 验证器进行了一些测试,并且 URI 中未转义的 unicode 字符不会触发 HTML 4/5 和 XHTML 4/5 文档类型的任何警告或错误(但当然没有错误消息不会) t 暗示没有错误)。
至少 chrome 还支持原始 UTF-8 IRI,但在触发 HTTP 请求之前会对其进行百分比转义。此外,我的 Web 服务器 (lighttpd) 似乎支持 UTF-8 字符的百分比编码以及 HTTP 请求中的未编码形式。