曾經我天真的以為URI和URL是一樣的,隻是不同叫法而已,然後某一天有人告訴我這兩個不一樣,so我發現是時候好好研究一下這兩個概念了。
URI:Uniform Resource Identifier,統一資源辨別符
URL:Uniform Resource Location統一資源定位符
通俗地說,URL和URN是URI的子集,URI屬于URL更高層次的抽象,一種字元串文本标準。
三者關系如下圖:

圖示
上面雖然大概介紹了這兩者的差別,不過感覺還是有些模糊,下面着重研究差別。
首先,URI,是統一資源辨別符,用來唯一的辨別一個資源。而URL是統一資源定位器,它是一種具體的URI,即URL可以用來辨別一個資源,而且還指明了如何locate這個資源。而URN,統一資源命名,是通過名字來辨別資源,比如mailto:[email protected]。也就是說,URI是以一種抽象的,高層次概念定義統一資源辨別,而URL和URN則是具體的資源辨別的方式。URL和URN都是一種URI;
URL是URI的一種(通過那個圖就看的出來吧)。但也不是所有的URI都是URL哦,就好像蝴蝶都會飛,但會飛的可不都是蝴蝶啊!
讓URI能成為URL的當然就是那個“通路機制”,“網絡位置”。e.g. http://
or ftp://.。URN是唯一辨別的一部分,就是一個特殊的名字。
下面就來看看例子吧,當來也是來自權威的RFC:
ftp://ftp.is.co.za/rfc/rfc1808.txt (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://192.0.2.16:80/ (also a URL because of the protocol)
urn:oasis:names:specification:docbook:dtd:xml:4.1.2
這些全都是URI, 其中有些是URL. 哪些? 就是那些提供了通路機制的.
1. URI
Web上可用的每種資源如HTML文檔、圖像、視訊片段、程式等都是一個來URI來定位的;
URI一般由三部組成
2. URL
URL是Internet上用來描述資訊資源的字元串,主要用在各種WWW客戶程式和伺服器程式上,特别是著名的Mosaic。
采用URL可以用一種統一的格式來描述各種資訊資源,包括檔案、伺服器的位址和目錄等。
URL一般由三部組成
現在,你明白了了嗎,歡迎提出意見和補充哦
本文轉自 2012hjtwyf 51CTO部落格,原文連結:http://blog.51cto.com/hujiangtao/1919699,如需轉載請自行聯系原作者