2013-08-03 18 views
1

我有一些易於閱讀的URL,用於查找屬於使用逗號作爲分隔符的記錄ID集合的數據。在URL中使用句點分隔數據有什麼問題?

例子:

http://www.example.com/find:1%2C2%2C3%2C4%2C5 

我想知道,如果我從一個逗號更改分隔符的時期。由於時段不是URL中的特殊字符。這意味着它不需要編碼。

例子:

http://www.example.com/find:1.2.3.4.5 

是否有任何瀏覽器(火狐,Chrome,IE等),將與該URL的問題嗎?

這裏有一些關於SO的相關問題,但沒有一個具體說這是一種好的或不好的做法。

+1

這不應該是一個問題,只要你不會嘗試使用像斜槓一樣的分隔符。那麼你需要一些重寫規則,但在客戶端,它仍然是正確的。 – MightyPork

回答

1

對我來說,這看起來像一個資源奇數查詢字符串格式。 如果我理解正確的話,這將是等於這樣的:

http://www.example.com/find?id=1&id=2&id=3&id=4&id=5 

由於您的過濾器表現得像一個多選(ID而非搜索字段),這將是我在一個標準等效猜測。

瀏覽器應該沒有任何問題,只要應用程序的路由機制正確處理它。只要你不用HTML表單構建類似查詢的東西(在這種情況下,你需要JS或重寫,ew!)。

請問爲什麼不使用更標準的URL和查詢字符串?也許東西,包括元素類(/reports/search?name=...),只是知道什麼是查詢查詢。只是好奇,我知道有時候標準不適用。

+1

'http://www.example.com/action/name:value/name:value/name:value'在CakePHP中被稱爲命名參數。這是使用GET參數的替代方法。我喜歡使用它們,因爲它們乾淨地壓縮了URL,不要讓參數看起來像添加到URL中的尾部。據說,我聽說他們正在CakePHP 3.0中擺脫它們,所以可能只是一個框架正在經歷的階段。 – cgTag