2009-11-07 95 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

相關問題