网站的URL(通常也称为“网站地址”)是有人为了访问特定网站而进入网站浏览器的内容。当您通过URL传递信息时,您需要确保它仅使用特定的允许字符。这些允许的字符包括字母字符,数字和一些在URL字符串中有意义的特殊字符。应该对需要添加到URL的任何其他字符进行编码,以便在浏览器访问期间不会出现问题,以找到您要查找的页面和资源。
编码URL
URL字符串中最常编码的字符是<space>字符。只要在URL中看到加号(+),就会看到此字符。加号充当表示URL中的空格的特殊字符。您将看到的最常见的方式是包含主题的mailto链接。如果您希望主题中包含空格,您可以将它们编码为加号:这段编码文本将传送“这是我的主题”的主题。当在浏览器中呈现时,编码中的“+”字符将替换为实际的<space>。要对URL进行编码,只需将特殊字符替换为其编码字符串即可。这几乎总是以%字符开头。
严格来说,您应该始终对URL中找到的任何特殊字符进行编码。一个重要的注意事项,如果您对所有这些谈话或编码感到有点害怕,那么除了表单数据之外,您通常不会在其正常上下文之外的URL中找到任何特殊字符。大多数URL使用始终允许的简单字符,因此根本不需要编码。
如果使用GET方法向CGI脚本提交数据,则应对数据进行编码,因为它将通过URL发送。例如,如果您要编写用于宣传RSS源的链接,则需要对您的URL进行编码,以添加到您正在推广它的脚本URL。
什么内容应该编码?
任何不是字母字符,数字或在其正常上下文之外使用的特殊字符的字符都需要在页面中进行编码。下面是一个可以在URL及其编码中找到的常见字符表。
保留字符URL编码
字符 URL中的用途 编码
: 从地址分离协议(http) %3B
/ 单独的域和目录 %2F
# 单独的锚 %23
? 单独的查询字符串 %3F
& 单独的查询元素 %24
@ 从域中分离用户名和密码 %40
% 表示编码字符 %25
+ 表示空格 %2B
<空格> 不建议在URL中使用 %20或+
请注意,这些编码示例与您使用HTML特殊字符找到的示例不同。例如,如果您需要使用符号(&)字符对URL进行编码,则可以使用%24,即上表中显示的内容。如果您正在编写HTML并且想要在文本中添加&符号,则无法使用%24。相反,你会使用&amp; 或&#38;,两者都会在渲染时写出HTML页面中的&。这一开始可能看起来很混乱,但它基本上是页面本身上出现的文本(HTML代码的一部分)和URL字符串之间的区别,URL字符串是一个单独的实体,因此受到不同规则的约束。“&”字符以及许多其他字符可以出现在每个字符中的事实不应该使您与两者之间的差异混淆。