2010-02-15 52 views
1

比方說,我有一個應用程序,並在該應用程序,我需要查看和編輯「文件」。我正在考慮這個網址設計。URL設計:HTTP://網域/應用/ document123 /編輯或http://網域/應用/編輯/ document123?

  1. 拉起的文檔的默認視圖ID爲 「X123」:

    http://domain/app/document-x123

  2. 編輯同一個文檔:

    http://domain/app/document-x123/edit

  3. 刪除

    http://domain/app/document-x123/delete

這是從我關於文檔思想作爲一個對象的更多的視的OO點(例如「object.Action()」)。這是壞事嗎?我會遇到麻煩嗎?即會是最好有#秒2和3以下?

1.

http://domain/app/edit/document-x123 

2.

http://domain/app/delete/document-x123 
+0

很確定您不會以任何方式陷入麻煩,它可能會影響的是其他人如何對網址進行排序和分組。從搜索引擎優化的角度來看,我想引擎大多不會按照路徑中最長的公共前綴對網址進行分組 - 它們按主機名進行分組,這就是它。但是,如果他們這樣做,問題是您是否希望將「document-x123」的結果歸爲最相似的結果,或將「編輯」的結果歸類在一起。我很確定它是「document-x123」。 – 2011-09-28 23:36:27

回答

2

我喜歡http://domain/app/document-x123/edit偏好。

採取的LiveJournal:

http://jwz.livejournal.com/

http://jwz.livejournal.com/profile

http://jwz.livejournal.com/calendar

(對不起JWZ現在,當人們谷歌,你這個就上來了。)

左右:

https://stackoverflow.com/users/208990/chris-simmons https://stackoverflow.com/users/208990?tab=activity#tab-top

或者Twitter的API:

http://apiwiki.twitter.com/Twitter-REST-API-Method:-POST-listshttp://api.twitter.com/1/用戶 /lists.format)

對我來說,URL目錄去從 「一般」 到特殊。好的,我在stackoverflow.com。現在我要縮小「用戶」。現在我選擇了一個特定的用戶。現在我正在看他的活動。

或者「我想訪問twitter api,現在我想移動到特定的用戶,現在我想要他們的列表」。

所以我覺得你的直覺是罰款,並將其與什麼intertubes其餘不jives!

+0

+1爲好的答案和使用單詞「intertubes」 – Moshe 2010-02-15 01:51:37

3

resource.action(id)感覺更自然,我...這樣的網址是:

http://domain/app/documents/delete/x123 
1

如QWERTY說,我喜歡資源的理念 - >操作 - > ID,但有東西要大約兩說(在更多的語義的方式)

如果你看看這個網址爲虛對公司的example.com形式發電機:

http://example.com/form/view/1 

你很可能會分解成:

1) Use the Form Module 
2) Use the View Module (or pass it as an action) 
3) Pass the ID 1 to the module 

我覺得這個URL使它看起來像你通過一個佛經過數1 rm ::查看模塊並獲取數據。現在

,如果你看看這個其他虛構的形式發電機:

http://example.com/form/1/view 

你可以打破它進入這個

1) Use the Form Module 
2) Open up the data for ID 1 
3) Preform the action 'view' on the ID 1 

我覺得這個URL使它看起來像您正在打開數據爲ID 1和預先形成和行動。

我認爲兩者同樣有效,它主要只是在語義上。