在<a> links?</a>中使用未转义的href URI是标准违规吗?

时间:2011-04-28 10:00:14

标签: html

在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解决这个问题,也许你们其中一个人可以启发?

2 个答案:

答案 0 :(得分:3)

  

在HTML 4.01 Transitional文档中,指定链接href而不转义空格字符是否违反了标准?

是。 RFC1630,RFC1738和RFC1808中定义的href attributetakes a URI

RFC1738说:

  

空间   角色是不安全的,因为重要的空间可能会消失   当转录URL时,可能会引入无关紧要的空格   排版或接受文字处理程序的处理。

  

所有不安全的字符必须始终在URL中编码。

答案 1 :(得分:2)

href中指定的{{1}}属性值is a URI

其中说(第2.4.3节。排除的US-ASCII字符):

  

排除空格字符,因为可能存在重要空格      当URI出现时,可能会引入消失和无关紧要的空格      转录或排版或接受单词处理 -      处理程序。

因此,您必须对空格进行编码。