天天看點

URI、URL、URN 的聯系和差別

在 web 應用中,uri、url 經常被人混淆和無解。本文較長的描述了 uri、url 以及 urn 之間的聯系和差別。

先看定義

uri(uniform resource identifier,統一資源辨別符)是一個用于辨別某一網際網路資源名稱的字元串。 該種辨別允許使用者對網絡中(一般指網際網路)的資源通過特定的協定進行互動操作。

url(uniform resource locator,統一資源定位符),最常見的形式是 uri,經常指定為非正式的網址。

urn(uniform resource name,統一資源名稱),其目的是通過提供一種途徑,用于在特定的命名空間資源的辨別,以補充網址。

uri 可以進一步劃分為定位符(url),名稱(urn)或兩者兼備。url 和 urn 都是 uri 子集。urn 如同一個人的名稱,而 url 代表一個人的住址。換言之,urn 定義某事物的身份,而 url 提供查找該事物的方法。

術語“網址”(沒有正式定義)在非技術文獻中時常作為 url 或 uri 的同義詞出現,雖然往往其指代的隻是“http”和“https”協定。

下面是一些 url 的例子

ftp://ftp.is.co.za/rfc/rfc1808.txt

http://www.ietf.org/rfc/rfc2396.txt

ldap://[2001:db8::7]/c=gb?objectclass?one

mailto:[email protected]

news:comp.infosystems.www.servers.unix

tel:+1-816-555-1212

telnet://192.0.2.16:80/

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

/other/link.html (相對的 url,隻在另外一個 url 的上下文有用)

下面是一些 urn 的例子

urn:isbn:0451450523 (其isbn編号,以确定一本書)

urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 (一個全局唯一辨別符)

urn:publishing:book (辨別文檔作為一個圖書類型的 xml 命名空間)

繼續閱讀