初學http協議,就被這兩個相似的術語搞蒙了,查了很多資料,總算搞清楚了。(找資料還是英文啊,靠譜。。。)。
本篇部落格翻譯自:是在是一片簡單實用的好文,對幫我們弄清概念很有幫助:
譯文:
一直存在很多技術上的爭論,其中最為妙的恐怕就是web位址應該叫什麼的問題。通常情況就是這樣:有人把位址列的內容叫「url」,這時候有些人就來勁了:「不!其實那時uri。。。」
對於這種糾正的反應呢,通常也有這麼幾種情況,心眼小的就尋思這人趕緊走吧,淡定點的就聳聳肩表示同意,火氣大的就拔刀相向了好不?
那這篇文章呢,就對這個只是提供乙個簡單的總結,畢竟互黑也要黑到點子上是吧。
uri,url,urn
從上面的那幅圖可以看出來,一共有三個不同的概念uri,url,urn。這討論這樣的問題時,最好的方法就是回到原點啊,這裡我們在rfc 3986: uniform resource identifier (uri): generic syntax裡面收集了點資料:
「a uniform resource identifier (uri) 是乙個緊湊的字串用來標示抽象或物理資源。」
「a uri 可以進一步被分為定位符、名字或兩者都是. 術語「uniform resource locator」 (url) 是uri的子集, 除了確定乙個資源,還提供一種定位該資源的主要訪問機制(如其網路「位置」)。「
那我們無所不知的維基百科把這段消化的很好,並描述的更加形象了:
「uri可以分為url,urn或同時具備locators 和names特性的乙個東西。urn作用就好像乙個人的名字,url就像乙個人的位址。換句話說:urn確定了東西的身份,url提供了找到它的方式。」
通過這些描述我們可以得到一些結論:
下面就來看看例子吧,當來也是來自權威的rfc:
這些全都是uri, 其中有些事url. 哪些? 就是那些提供了訪問機制的.
總結下面到了回答問題的時候了:
當我們替代web位址的時候,uri和url那個更準確?
基於我讀的很多的文章,包括rfc,我想說uri更準確。
別急,我有我的理由:
我們經常使用的uri不是嚴格技術意義上的url。例如:你需要的檔案在files.hp.com
. 這是uri,但不是url--系統可能會對很多協議和埠都做出正
確的反應。
你去和
.可能得到完全不同的內容。這種情況可能更加普遍,想想不同谷歌網域名稱上的不同服務啊。
所以,用uri吧,這樣你通常技術上是正確的,url可不一定。最後「url」這個術語正在被棄用。所以明智吧少年!
結語if you don』t mind being 「that guy」, uri is probably the more accurate term to use. but if you are in the linguist / 「use what』s understood」 camp, feel free to go with url.
參考:
URI和URL的區別
url 統一資源定位符 也就是 例如 uri 通用資源標誌符 uri uniform resource identifier 統一資源標誌符 url uniform resource location 統一資源定位符 或統一資源定位器 urn uniform resource name 統一資源命名...
URI和URL的區別
uri和url的區別 uri uniform resource identifier,統一資源識別符號 url uniform resource locator,統一資源定位符 urn uniform resource name,統一資源名稱。uri和url的關係 url,urn是uri的子集。什麼...
URI和URL的區別
譯者 華科小濤 初學http協議,就被這兩個相似的術語搞蒙了,查了很多資料,總算搞清楚了。找資料還是英文啊,靠譜。本篇部落格翻譯自 是在是一片簡單實用的好文,對幫我們弄清概念很有幫助 譯文 一直存在很多技術上的爭論,其中最為妙的恐怕就是web位址應該叫什麼的問題。通常情況就是這樣 有人把位址列的內容...