- URI(Universal Resource Identifier)統(tǒng)一資源標(biāo)識(shí)符
- URL(Universal Resource Locator)統(tǒng)一資源定位符
- URN(Universal Resource Name)統(tǒng)一資源名稱
URI在世界范圍內(nèi)唯一標(biāo)識(shí)并定位信息資源。URI有兩種形式犀呼,分別稱為URL和URN枣察。
URL我們都很熟悉鬼廓。它描述了一臺(tái)特定服務(wù)器上某資源的特定位置。它們可以明確地說明如何從一個(gè)精確谈撒,固定的位置獲取資源腥泥。
URN作為特定內(nèi)容的唯一名稱使用,與目前的資源所在地?zé)o關(guān)啃匿。通過URN蛔外,還可以用同一個(gè)名字通過多種網(wǎng)絡(luò)協(xié)議來訪問資源。
URN現(xiàn)在仍處于試驗(yàn)階段溯乒,還未大范圍使用夹厌。為了更有效的工作,URN需要一個(gè)支撐架構(gòu)來解析資源的位置橙数,此類架構(gòu)的缺乏也延緩了它被采用的進(jìn)度尊流。
舉例說明
一個(gè)URL的例子:http://www.reibang.com/u/99dadf57ad5e
URL包含三個(gè)部分:
- scheme(協(xié)議)對(duì)應(yīng)到上例為 https://
- host(服務(wù)器的因特網(wǎng)地址)對(duì)應(yīng)上例 www.reibang.com
- path(Web服務(wù)器上某個(gè)資源的路徑)對(duì)應(yīng)上例 /u/99dadf57ad5e
URN的兩個(gè)例子:
URN | 相當(dāng)于 |
---|---|
urn:isbn:0451450523 | 1968年出版的 《The Last Unicorn》 一書,由其書號(hào)確定 |
urn:ietf:rfc:2141 | 因特網(wǎng)標(biāo)準(zhǔn)文檔 RFC 2141 |
第一個(gè)例子中的書號(hào)是 International Standard Book Number灯帮,國際標(biāo)準(zhǔn)書號(hào)崖技。同一個(gè)版本的《The Last Unicorn》都有著相同的ISBN(平裝本、精裝本钟哥、電子書各自具有不同的ISBN)迎献。那么就可以這么說,同一個(gè)版本的《The Last Unicorn》不管身在何處腻贰,都可以用相同的URN來表示吁恍。
同樣的,第二個(gè)例子中,不管因特網(wǎng)標(biāo)準(zhǔn)文檔 RFC 2141的具體地址是什么冀瓦,都可以通過urn:ietf:rfc:2141來命名它伴奥。
從這些例子和概念能夠看出來,這三者的區(qū)別是這樣子的:
URI標(biāo)識(shí)并定位了世界范圍內(nèi)的唯一信息資源翼闽。具體來說拾徙,是通過URL和URN這兩種形式來標(biāo)識(shí)和定位的。
URL是通過一個(gè)地址來標(biāo)識(shí)定位信息資源的感局,只要能夠定位到一個(gè)資源尼啡,那它就叫URL。
URN是通過一個(gè)特定格式的名稱來標(biāo)識(shí)定位信息資源的询微,但它不指定該資源的具體位置崖瞭。
關(guān)于這三者的關(guān)系,看到網(wǎng)上很多示意圖是這樣的:
但我覺得這個(gè)不太合理撑毛。根據(jù)我們上面的推斷书聚,URL/URN都和URI沒有父子集的關(guān)系〈看到這張圖時(shí)我會(huì)以為一個(gè)URI可以對(duì)應(yīng)多個(gè)URL寺惫,一個(gè)URI也可以對(duì)應(yīng)多個(gè)URN。但事實(shí)又不是這樣蹦疑,URL/URN分別是URI的兩種表現(xiàn)而已西雀。
所以我重新畫了一張:
體現(xiàn)了URL和URN分別是URI的兩種形式。
關(guān)于這三者的關(guān)系歉摧,又可以這么說艇肴。
假如有個(gè)壞人警察要抓他,那URI就相當(dāng)于警察要找的這個(gè)人叁温。警察想抓到他再悼,要么得知道這個(gè)人的地址,相當(dāng)于URL膝但。要么得知道這個(gè)人的姓名和身份證號(hào)冲九,相當(dāng)于URN。通過URL和URN都可以定位到想找的這個(gè)URI跟束。
關(guān)于這個(gè)問題莺奸,我還有一點(diǎn)補(bǔ)充。
假設(shè)已經(jīng)有了一個(gè)URL1冀宴,定位到了Internet上的一個(gè)資源∶鸫現(xiàn)在,如果我又將另外一個(gè)域名和該資源所在服務(wù)器的外網(wǎng)IP綁定略贮,并且和原來設(shè)置相同的端口甚疟,那又會(huì)產(chǎn)生另外一個(gè)URL2仗岖,URL2也能夠定位到這個(gè)資源。也就是說該資源可以通過兩個(gè)不同的URL來定位览妖。URL只是URI的一種表現(xiàn)形式轧拄,這時(shí)候,該資源也就有著兩個(gè)URI讽膏。
URL和URN也會(huì)存在一些交集紧帕,比如SMTP,簡單郵箱傳輸協(xié)議桅打。