2012-01-04 26 views
3

我喜歡飛行>座位>預訂的資源結構,所以保留屬於某個座位屬於一個特定的航班:分層與平板URL

http://example.com/jdf_3prGPS4/1/jMBDy46PbNc 
        ----------- - ----------- 
         |  |  | 
         |  |  | 
        flight seat reservation 

由於客戶得到這個(有點醜陋)爲後來取消我認爲離開了資源結構,縮短的鏈接預約網址:

http://example.com/reservation/jMBDy46PbNc      

你看不到任何理由(與用戶相關的)不縮短這個網址?

+0

假設網站會做同樣的事情,那麼它們肯定是可以互換的?只有你可以告訴我們他們是否真的做了同樣的事情。 :) – Chris 2012-01-04 11:14:28

+0

是的,這些網址是可以互換的,並且會導致完全相同的資源。 – deamon 2012-01-04 11:19:02

+0

然後我看不出沒有理由不縮短網址。 :) – Chris 2012-01-04 11:32:34

回答

2

最終用戶並不在乎urls結構是什麼。事實上,考慮到他們在那裏的樣子,他們幾乎肯定不想看到他們,而只是點擊鼠標。這只是出於功能上的考慮。

如果URL導致完全相同的資源,並且資源的行爲與不同的URL完全相同,那麼幾乎根據定義,您使用哪一個並不重要。

我想唯一真正的因素可能是是否有任何安全隱患。我能猜到預訂ID嗎?這是否讓我在任何地方(即我仍然需要登錄或什麼)?如果有座位和航班,他們必須能夠猜出所有三個組合的有效組合,這顯然比僅僅強制預訂ID更難。

如果最後不是一個問題,然後我看不出有任何理由要永遠使用較長的網址...

+0

我現在正在使用短變體。 – deamon 2012-01-05 16:18:21

3

無論您提供的或長或短的網址是不是一個大問題,而是你是否提供只有其中一個或兩個是。如果兩個URL都返回相同的內容,那麼在緩存中(無論是服務器端,中介還是客戶端)都會有重複的信息,並且這些信息可能會在兩個資源之間不同步,特別是如果它們緩存在不同的位置壽命。理想情況下,你應該提供一個或另一個。如果你真的想提供兩者,你應該有一個重定向到另一個,而不是重複它。

+0

好點。我只提供一個網址。 – deamon 2012-01-04 19:53:19