IRI是否有效作为HTML属性值?
使用包含非ASCII字符的IRI作为属性值(例如对于href属性)而不是URI,这是有效的
HTML吗?
HTML风格(
HTML和XHTML,4和5)之间是否有任何差异?至少
RFC 3986似乎暗示它不是.
我意识到使用百分比编码可能更安全(关于旧的和不知道IRI的软件),但我正在寻找关于标准的明确答案. 到目前为止,我已经使用W3C validator进行了一些测试,并且URI中未转义的unicode字符不会触发HTML 4/5和XHTML 4/5文档类型的任何警告或错误(但当然缺少错误消息不会意味着没有错误). 至少chrome还支持原始的UTF-8 IRI,但是在触发HTTP请求之前,它们会逃脱它们.此外,我的Web服务器(lighttpd)似乎在HTTP请求中以百分比编码和未编码形式支持UTF-8字符. 解决方法
HTML 4.01非常简单.不同的属性对于它们可以包含的内容有不同的规则,但是如果我们在< a>上处理href属性.元素,然后
HTML 4 spec,section B.2.1 Non-ASCII characters in URI attribute values说:
HTML5是不同的.它说IRIs are valid providing they comply with some additional conditions.
XHTML 1.x遵循与HTML 4.01相同的规则. XHTML5与HTML5相同. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |