2010-09-08 38 views
1

我在過去繼承了可怕的代碼,但其中的一個想法讓我覺得這是一個合乎邏輯的步驟。這是對應用程序內部的鏈接使用非標準的查詢。GET的替代語法在url中

所以不是

/search?category=23&city=Venice 

適用時,使用

/search/category-23;city-Venice 

這些種類的URI得到解析由系統舒適的使用和任何$_GET PARAMS仍然可以來在URI結束。

主要優勢是沒有外部鏈接與說引薦信息或(更重要的是)來自其他服務,如銀行的請求(更重要的是)將偶然地覆蓋特定格式查詢中的信息。

我意識到這種方法的許多缺點,並且如前所述,這種表示法只在適當的地方使用。

問題是,在做這樣的事情時是否有任何最佳實踐,因爲我重新實現了這個特定的功能,並且寧願使用預製解決方案(格式不必停留)。

P.S.我不敢相信[best-practices]不再是一個標籤:/

編輯:我可能被誤解了。我仍然使用GET,我只是想在URL中嵌入一些額外的信息,這些信息不會被外部請求或其他內容覆蓋。

我確實需要這個功能我只是問是否有任何做法。例如我昨天發現,Skype(我想其他服務也是)在去除自動鏈接時的領先;,所以最好使用,比如說|作爲分隔符。

+2

是啊..我是這個' - ><! - '也接近獲得'[best-practices]'標籤徽章。 – 2010-09-08 16:15:08

+0

可以使用URL重寫來僞裝GET請求作爲URL路徑的一部分。例如,用戶訪問:'http://mysite.com/article:23/ edit_comment:47 /',URL被內部重寫爲'http://mysite.com?article = 23&edit_comment = 47' – 2010-09-08 18:59:30

回答

-1

只需使用常規的GET請求。如果你不這樣做,那麼你不僅需要編寫和調試新的解析代碼,還要提供瀏覽器,Web服務器,Web爬蟲,客戶端腳本和服務器提供的大量表單功能邊框架。

但是,如果你只是試圖讓你更好的網址,然後使用mod_rewrite或一個其cousins做這樣的事情:

/search/23/Venice?q=road+map -> /search?category=23&city=Venice&q=road+map