2014-04-01 102 views
4

經過對Google和SO的研究,似乎在這方面存在矛盾的觀點。是'|'推薦的語義URL分隔符?

我們有一個谷歌瀏覽器代替|分隔符的問題,作爲%7C,而Firefox和Safari則沒有。使用|(時或解決方法)

http://www.example.com/page1|sub-page2|sub-page-3 

是否有嚴格的規定,選擇適合的語義URL的分隔符時,遵循以及是否有針對任何有力的論據:

下面是一個例子嗎?

+2

爲什麼不使用'/'? –

+0

你在哪裏使用它,它被「顯示」,並且在瀏覽器中有所不同? – OJFord

+0

如果它們是子頁面,它應該是'/',如果這是一個錯字,那麼你已經在子頁面中使用了'-',那麼爲什麼不用'而不是'''來代替'|'呢? – OJFord

回答

3

|不是URL中的有效字符。當發送時,現代瀏覽器會將其默認編碼爲%7C,並且可能會或可能不會在地址欄中顯示此更改。同樣,服務器會爲你默默解碼角色。

這可能是上個千年的問題,瀏覽器會因爲沒有指定http://而崩潰,但今天你可以隨意使用任何你想要的東西,瀏覽器會照顧它。但是,自動解析器(如http://example.com/test|fish Markdown)可能不同意它是有效的URL。在這種情況下,它看起來像它,但在我的論壇上嘗試,它會抱怨你。

1

Internet Explorer/chrome使用url編碼在頁面請求完成後在地址欄中顯示url時,%7C是顯示管道的安全方式('|') 所以它不是一個問題,即chrome正在這樣做。

作爲一個讓所有瀏覽器的行爲方式相同的厚顏無恥修復程序,爲什麼不使用%7C作爲分隔符而不是管道,然後所有瀏覽器都應該將它解釋爲管道場景,但在地址欄中顯示爲& 7C。