URL,URI和URN的理解
2017-10-12 08:40:23
14154
我想很多人和我一樣弄不清楚URI和URL之間的區(qū)別,有人可能覺得這是統(tǒng)一概念的不同表述而已。
我們先看看定義:
URI:Uniform Resource Identifier,即統(tǒng)一資源標志符,用來唯一的標識一個資源。
URL:Uniform Resource Locator,統(tǒng)一資源定位符。即URL可以用來標識一個資源,而且還指明了如何locate這個資源。
URN:Uniform Resource Name,統(tǒng)一資源命名。即通過名字來表示資源的。
好了定義看完了,可能還是不理解下面我們就詳細說說三者的區(qū)別和用途。
URL肯定是一個URI,但是一個URI并不一定是一個URL,URL僅僅是URI的一種表現(xiàn)形式而已。兩者的差距主要可以從命名上來區(qū)分,URI是資源標志符,所有他只要求具有"標識性",而URL是和URI的主要區(qū)別就是,URL除了具有URI的“標識性”以外,還具有定位功能,可以用來描述資源的具體位置,還指明了獲取資源所采用的協(xié)議。一個完整的URL包含協(xié)議名稱,主機名稱(IP或者域名)、端口號(沒寫端口號默認 為80端口)、路徑和查詢字符串這5個部分。比如:http://m.lncdfzh.com.cn:80/images/hello.png?type=png.這樣一個url,上述的5個部分分別是:網(wǎng)絡(luò)傳輸協(xié)議名稱:http,主機:m.lncdfzh.com.cn,端口號:80,路徑:images/hello.png 查詢字符串:type=png。
看完了URL和URI的區(qū)別,我們在看看URN是什么東西。URN也是URL的一種表現(xiàn)形式,它和URL的區(qū)別就是與資源的位置無關(guān),正式由于位置的無關(guān)性,被某個URN標識的資源在位置發(fā)生變化時,其URI可以保持不變。
所以看來URL和URN都是URI的一種擴展,一種表現(xiàn)形式,URL和URN肯定是一個URI,但是URI不一定是URN或URL。