2009-11-07 93 views

回答

20

是的,你可以用它简单的在你的URL路径是这样的:

http://example.com/Alice&Bob 

只有当你想在查询中使用它,你需要与%26它编码:

http://example.com/?arg=Alice%26Bob 

否则当解释为application/x-www-form-urlencoded时,它将被解释为参数分隔符。

有关更多详细信息,请参阅RFC 3986

+0

我希望这是真的:它会使伟大和差劲的答案有所不同。来自* RFC3986 *的在线日期引用可能使这一优秀 – Borodin 2016-05-25 17:22:50

2

除非您将变量追加到查询字符串,否则对其进行编码。

1

编码“&”与&(这个答案是根据你使用的标签)

如果你问用什么“&”或“和”注册您的URL的名字的时候,我会用“和”。

编辑:正如在评论中提到的“&是一个HTML字符实体,而不是一个URI字符实体。通过将它放入一个URI,你仍然有和符和额外的无关字符。在完全理解你的问题之前我开始回答。

+2

&是一个HTML字符实体,而不是URI字符实体。通过将它放入一个URI中,您仍然具有&字符和额外的无关字符。 – 2009-11-07 16:50:30

+0

*脸掌*右,张贴之前思考通过。适当的时候进行投票。 – MarkPowell 2009-11-07 16:53:22

+0

只需删除您的答案,而不是要求赞成票:) – truppo 2009-11-07 16:55:48

6

的URL通常是在形式

scheme://host/some/path/to/file?query1=value&query2=value 

所以这是不可取的,除非你想使用它的参数,使用它在URL。否则,你应该使用%26例如%来逃避它。

http://www.example.com/hello%26world 

这会导致路径被提交为hello &世界。还有其他字符在URL中的上下文之外使用时必须转义。请参阅here以获取列表。

+0

当你在URL路径中使用时,你不需要对它进行编码。 – Gumbo 2009-11-07 17:15:13

+0

好吧,我不知道。我刚刚阅读了你在答案中链接的RFC中有关编码的部分。但是,如果我正确地理解了这一点,似乎http://example.com/Alice&Bob和http://example.com/Alice%26Bob不被认为是等同的,并且可能会被应用程序以不同的方式进行解释(虽然并非如此HTTP,正如你所指出的那样)。 – Alfonso 2009-11-07 20:31:25

相关问题