轉!!URL和URI區別

2021-09-13 02:28:14 字數 1901 閱讀 3545

從上面的那幅圖可以看出來,一共有三個不同的概念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提供了找到它的方式。」

通過這些描述我們可以得到一些結論:

首先,url是uri的一種(通過那個圖就看的出來吧)。所以有人跟你說url不是uri,他就錯了唄。但也不是所有的uri都是url哦,就好像蝴蝶都會飛,但會飛的可不都是蝴蝶啊,你讓蒼蠅怎麼想!

讓uri能成為url的當然就是那個「訪問機制」,「網路位置」。e.g. http:// or ftp://.。

urn是唯一標識的一部分,就是乙個特殊的名字。

下面就來看看例子吧,當來也是來自權威的rfc:

(also a url because of the protocol)

(also a url because of the protocol)

ldap://[2001:db8::7]/c=gb?objectclass?one (also a url because of the protocol)

mailto:[email protected] (also a url because of the protocol)

news:comp.infosystems.www.servers.unix (also a url because of the protocol)

tel:+1-816-555-1212

telnet: (also a url because of the protocol)

urn:oasis:names:specification:docbook:dtd:xml:4.1.2

這些全都是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.

參考:

轉!!URL和URI區別

從上面的那幅圖可以看出來,一共有三個不同的概念uri,url,urn。這討論這樣的問題時,最好的方法就是回到原點啊,這裡我們在rfc 3986 uniform resource identifier uri generic syntax裡面收集了點資料 a uniform resource iden...

轉!!URL和URI區別

從上面的那幅圖可以看出來,一共有三個不同的概念uri,url,urn。這討論這樣的問題時,最好的方法就是回到原點啊,這裡我們在rfc 3986 uniform resource identifier uri generic syntax裡面收集了點資料 a uniform resource iden...

轉!!URL和URI區別

從上面的那幅圖可以看出來,一共有三個不同的概念uri,url,urn。這討論這樣的問題時,最好的方法就是回到原點啊,這裡我們在rfc 3986 uniform resource identifier uri generic syntax裡面收集了點資料 a uniform resource iden...