天天看點

URI和URL的差別

曾經我天真的以為URI和URL是一樣的,隻是不同叫法而已,然後某一天有人告訴我這兩個不一樣,so我發現是時候好好研究一下這兩個概念了。

URI:Uniform Resource Identifier,統一資源辨別符

URL:Uniform Resource Location統一資源定位符

通俗地說,URL和URN是URI的子集,URI屬于URL更高層次的抽象,一種字元串文本标準。

三者關系如下圖:

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,如需轉載請自行聯系原作者

繼續閱讀