URL,URI 和URN 之間的區別

URI 標識一個事物 , URL 定位一個事物;然而,位置同樣可以標識一個事物,所以,每個URL都是一個 URI,但一個 URI 並不一定是一個 URL。

舉例說明

羅傑·佩特
這是我的名字,這是一個標識。它就像一個 URI,但它不是一個 URL,因爲,它不能告訴你任何關於我的位置或如何找到我的信息。在我說的這種情形中,這個名字在美國有可能指的是至少不同的5個人。

巴哈馬國拿騷市西海岸街4914號
這是一個位置,它也是一個物理位置的標識。它既像一個 URL,也像一個 URI(因爲所有的URL都是URI),它能間接的標識我爲“xxx地的居民”。這種情形下,它可以唯一的標識我,但如果我有了一個室友,這種情況就會發生變化。

我說“像”,是因爲,這兩個例子在語法上是不符合要求的。

常見錯誤

來自維基百科:

在計算機科學裏,URL(Uniform Resource Locator)是URI(Uniform Resource Identifier)的子集,用來標識一個唯一有效的資源,人們可以通過它來獲取這個資源。 在很多常見的使用方法裏,在很多技術文檔和口頭討論中,它通常被不正確的當成了URI的同義詞…

因爲這種常見的混淆,很多產品和文檔中本來應該使用這個時卻錯誤的使用了那個,他們按自己的理解來使用這些術語,或者把它們等同對待。

URN

我的名字,羅傑·佩特,類似於一個 URN ,不同的是URN更有規則,特意用來表示即在空間上又在時間上的唯一性。

因爲我的名字很可能和其他人重名,它並不是全球唯一的,不適合做URN。然而,即使是沒有其他家庭使用這個名字,但我的名字是從祖上繼承下來的,所以它在時間範圍裏仍然不能唯一。即使我的名字跟祖上不一樣,但我的後代也可能使用這個名字,它仍然不適合作爲一個URN。

URN在嚴格的唯一性約束方面有別於URL,但它們卻都是使用相同的URI語法。

[英文原文:What's the difference between a URI and a URL? ]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章