統一資源名稱(Uniform Resource Name,URN)是URI兩種形式之一,是帶有名字的因特網資源。它使用`urn:`作為URI Scheme,唯一標識一個實體的標識符,但是不能給出實體的位置。系統可以先在本地尋找一個實體,試著在Web上找到該實體之前,允許Web位置改變,然而這個實體卻還是能夠被找到。
基本介紹
統一資源名稱(URN)標識持久性Internet資源。URN可以提供一種機制,用于查找和檢索定義特定命名空間的架構文件。盡管普通的URL可以提供類似的功能,但是在這方面,URN更加強大并且更容易管理,因為URN可以引用多個URL。URN是作為特定內容的唯一名稱使用的,與當前資源的所在地無關。使用URN,就可以將資源四處遷移,而不用擔心遷移后無法訪問。URN和URL都屬于URI。URN在web中主要應用是下拉菜單的制作。使用URN時下拉菜單的易擴展性將會得到很大的提高。P2P下載中使用的磁力鏈接是URN的一種實現,它可以持久化的標識一個BT資源,資源分布式的存儲在P2P網絡中,無需中心服務器用戶即可找到并下載它。
1997年的RFC2141于中定義了URN,期望為資源提供持久的、位置無關的標識方式,并允許簡單地將多個命名空間映射到單個URN命名空間。這樣一個URI的存在并不意味著被標識的資源一定是可用的,但它仍然需要保持全球唯一和持久,即使資源已經不存在了或變得不可用。自從2005年RFC 3986發布,這一術語的使用已被限制更少的“URI”取代。這是W3C和IETF聯合組成的工作組所提議的。URN和URL都已經是URI的一種,而且特定情況下URL可能同時擁有名字(URN)和位置(URL)。
在1990年,URN作為一個元數據框架,原本被期望和URL、URC(統一資源特征)一起組成一個第三方互聯網信息架構。然而URC一直停留在理論階段,隨之更晚出現的其他技術(例如資源描述框架)取代了它們。統一資源名和統一資源定位符都是稱為統一資源標識符的概念的一種。統一資源名與另一個稱為統一資源特征(URC)有些聯系,統一資源特征允許對統一資源名增加一些描述的信息,例如作者、日期、長度等??梢該碛幸粋€包括地址等在內的名字,在某些情況下,統一資源名還可以是一個統一資源定位符,但是不是必須是。統一資源名仍然有因特網工程工作組(IETF)的成員在繼續開發。
解析器
URN解析器負責初始化和排序查詢,最終導向到URN名字或“解析請求”的一個完整的解析(翻譯)結果。例如,一個“解析請求”可能是“將一個URN名字翻譯成URL”。RFC 2169中有一個服務器端URN解析器的實現范例。
命名空間
為了確保URN命名空間的全局唯一性,URN的標識(NID)必須在互聯網號碼分配局注冊。已注冊命名空間可能是“正式”或“非正式”的。此中有一個例外——“試驗性命名空間”無需注冊。
正式命名空間
正式命名空間是互聯網用戶預期能通過公開而的一類命名空間,因此會受到許多限制。它必須:
- 不能和已經注冊的NID重復。
- 不能由x-(見下“試驗命名空間”)開頭。
- 不能由urn-開頭。
- 不能有任何XY-形式的開頭,其中XY任意兩個ASCII字母的組合。
- 比兩個字母更長。
非正式命名空間
非正式命名空間通過互聯網號碼分配局注冊并分配一個數字序號(由IANA以先到先得的原則選出)作為標識,格式是:
"urn-" <數字序號>
非正式命名空間是完全合法的URN命名空間,可以在任何全局注冊服務中使用。
試驗性命名空間
試驗性命名空間取如下格式:
"X-"
這種形式的命名空間預期只在內部或受限的試驗環境中使用,不需要也不保證全局唯一。
參考資料 >