在HTML 4.01 Transitional文档中,指定链接href而不转义空格字符是否违反了标准?
例如此链接
<a href="http://example.com/some page.html">Some page</a>
而不是
<a href="http://example.com/some%20page.html">Some page</a>
我不能轻易地从http://www.w3.org/TR/html40/struct/links.html#h-12.1.3解决这个问题,也许你们其中一个人可以启发?
答案 0 :(得分:3)
在HTML 4.01 Transitional文档中,指定链接href而不转义空格字符是否违反了标准?
是。 RFC1630,RFC1738和RFC1808中定义的href attribute,takes a URI。
RFC1738说:
空间 角色是不安全的,因为重要的空间可能会消失 当转录URL时,可能会引入无关紧要的空格 排版或接受文字处理程序的处理。
和
所有不安全的字符必须始终在URL中编码。
答案 1 :(得分:2)
href
中指定的{{1}}属性值is a URI。
其中说(第2.4.3节。排除的US-ASCII字符):
排除空格字符,因为可能存在重要空格 当URI出现时,可能会引入消失和无关紧要的空格 转录或排版或接受单词处理 - 处理程序。
因此,您必须对空格进行编码。