这些字符在HTML5文档中的href中的URL中是否有效? :,;&安培;

时间:2012-10-26 12:42:49

标签: html html5 url html-entities

我们计划提供像

这样的网址
http://www.nowhere.nu/path/file;key:value,key2:value2.html

这个文件说必须转义特殊字符,这样会破坏“好”网址的目的:

http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

然而,测试主要的浏览器,似乎没有必要urlencode;:和,在这个位置

你能提供一个不起作用的流行浏览器,或者反对这种方案的论据吗?

类似的问题& (无效但有效)与&放大器; (有效)。

1 个答案:

答案 0 :(得分:3)

如评论中所述,引用的信息已过时。为了安全起见,任何有问题的字符都应该被转义。

使用URL,您有2个目标受众,人和机器。大多数人无法有效处理包含除字母数字字符./之外的任何内容的URL路径。它们在您经过主机名时会进一步降低效率。所以基本上一旦你得到一个你必须编码的角色,你就已经失去了对人类的友好(许多人甚至不知道位置栏的位置,更不用说关注它了。)

另一方面,机器对转义字符没有问题。他们可能对他们无法识别的未转义字符有问题。由于HTTP非常简单,因此可以使用大量客户端,包括用于执行mashup等操作的小型自定义客户端。因此,即使你覆盖主要的浏览器能够翻阅未转义的角色,你也可能会打破一些不可预见的客户端。总的来说,你没有任何实际利益,但风险更高。