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 提供查找該事物的方法。
用於標識唯一書目的 ISBN 系統是一個典型的 URN 使用範例。例如,ISBN 0-486-27557-4( urn:isbn:0-486-27557-4 )無二義性地標識出莎士比亞的戲劇《羅密歐與朱麗葉》的某一特定版本。爲獲得該資源並閱讀該書,人們需要它的位置,也就是一個 URL 地址。在類 Unix 操作系統中,一個典型的 URL 地址可能是一個文件目錄,例如 file:///home/username/RomeoAndJuliet.pdf。該 URL 標識出存儲於本地硬盤中的電子書文件。因此,URL 和 URN 有着互補的作用。

URL 是一種 URI,它標識一個互聯網資源,並指定對其進行操作或獲取該資源的方法。可能通過對主要訪問手段的描述,也可能通過網絡“位置”進行標識。例如,http://www.baidu.com 這個 URL,標識一個特定資源(首頁)並表示該資源的某種形式(例如以編碼字符表示的,首頁的 HTML 代碼)是可以通過 HTTP 協議從www.waylau.com 這個網絡主機獲得的。

URN 是基於某命名空間通過名稱指定資源的URI。人們可以通過 URN 來指出某個資源,而無需指出其位置和獲得方式。資源無需是基於互聯網的。例如,URN urn:isbn:0-395-36341-1 指定標識系統(即國際標準書號ISBN)和某資源在該系統中的唯一表示的 URI。它可以允許人們在不指出其位置和獲得方式的情況下談論這本書。
術語“網址”(沒有正式定義)在非技術文獻中時常作爲 URL 或 URI 的同義詞出現,雖然往往其指代的只是“http”和“https”協議。

 示例

下面是一些 URL 的例子
ftp://ftp.is.cd.da/rfc/file.txt
http://www.ietf.org/rfc/rfc2396.txt
ldap://[2201:db8::7]/c=GB?objectClass?one
mailto:[email protected]
news:comp.infosystems.www.servers.unix
tel:+1-816-555-1414
telnet://192.0.1.144:8080/
urn:oasis:names:specification:docbook:dtd:xml:4.1.2
/other/link.html (相對的 URL,只在另外一個 URL 的上下文有用)

下面是一些 URN 的例子
urn:isbn:0451450588 (其ISBN編號,以確定一本書)
urn:uuid:6e3bc430-5c3a-11d9-9669-817700c9a66 (一個全局唯一標識符)
urn:publishing:book (標識文檔作爲一個圖書類型的 XML 命名空間)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章