3

我屏蔽了以下 URL 中的所有特殊字符,但 w3c-validator 仍然抛出错误。我检查了所有 NFC 教程,但我不知道错误在哪里。任何想法 ?

网址

<a href="http://www.example.de/index.php&#63;cnid&#61;efcb9a458fb823ba877ef53b7162598f&#38;ldtype&#61;grid&#38;cl&#61;alist&#38;tpl&#61;&#38;fnc&#61;executefilter&#38;fname&#61;&#38;attrfilter&#91;3a5d1ca314a5205fa7b7b3baa5d2f94e&#93;&#91;2f143d22ce421269b5c7d01a160f6541&#93;&#61;2f143d22ce421269b5c7d01a160f6541">Asche</a>

w3c-错误

Line 618, Column 441: Bad value http://www.example.de/index.php?cnid=efcb9a458fb823ba877ef53b7162598f&ldtype=grid&cl=alist&tpl=&fnc=executefilter&fname=&attrfilter[3a5d1ca314a5205fa7b7b3baa5d2f94e][2f143d22ce421269b5c7d01a160f6541]=2f143d22ce421269b5c7d01a160f6541 for attribute href on element a: Illegal character in query component.

…21269b5c7d01a160f6541&#93;&#61;2f143d22ce421269b5c7d01a160f6541">Asche</a></li>

IRI 引用的语法

Any URL. For example: /hello, #canvas, or http://example.org/. Characters should be represented in NFC and spaces should be escaped as %20. 
4

1 回答 1

3

根据STD 66 (其中附录 A 包含语法摘要,显示括号是“gen- delims ”字符[,在查询部分中不允许使用这些字符,除非% 编码)。]%5B%5D

您应该已经发布了一个 HTML 文档,因为这是验证器的工作内容。以下测试文档(验证)包含您提到的正确编码的 URL:

<!doctype html>
<meta charset=utf-8>
<title></title>
<a href=
"http://www.example.de/index.php?cnid=efcb9a458fb823ba877ef53b7162598f&amp;ldtype=grid&amp;cl=alist&amp;tpl=&amp;fnc=executefilter&amp;fname=&amp;attrfilter%5B3a5d1ca314a5205fa7b7b3baa5d2f94e%5D%5B2f143d22ce421269b5c7d01a160f6541%5D=2f143d22ce421269b5c7d01a160f6541">foo</a>

除此之外,URL 不起作用;它会导致“Multiple Choices”响应,这很奇怪(当服务器正在执行一些找不到可接受的替代方案的内容协商时,应该发出这样的消息,并且应该提供替代方案列表;但这里更多或少一个“未找到”的情况)。

于 2013-02-05T21:53:06.843 回答