URI: Uniform Resource Identifier, 統(tǒng)一資源標識符,用來標識網(wǎng)絡(luò)資源名稱的獨有字符串几睛。這種標識允許用戶對互聯(lián)網(wǎng)或者本地的資源通過特定的協(xié)議進行交互操作房轿。URI由確定的語法或者是相關(guān)的協(xié)議定義。
URL: Uniform Resource Locator, 統(tǒng)一資源定位符所森,可以從互聯(lián)網(wǎng)得到的資源的位置以及訪問的方法的一種簡單的表示囱持。互聯(lián)網(wǎng)上的每一個文件都有一個唯一的URL焕济。它是一種具體的URI纷妆,URL可以用來標識一個資源,同時還指明了怎樣locate這個資源吼蚁。
URN: Uniform Resource Name凭需,統(tǒng)一資源名稱,用以標識持久性Internet資源肝匆,URN可以提供一種機制粒蜈,用于查找和檢索定義特定命名空間的架構(gòu)文件,URL也可以提供類似的功能旗国,但是在這個方面枯怖,URN功能更加強大,并且更易于管理能曾,URN可以引用多個URL度硝。另外與URL不同的是URN與地址無關(guān)。URN在web主要用來制作下拉菜單寿冕,使用URN制作的下拉菜單的易擴展性會得到很大的提高蕊程。URN通過名字來標識資源,例如mailto:java-net@java.sun.com驼唱,也就是說藻茂,URI是以一種抽象的,高層次的概念來定義統(tǒng)一資源標識。而URL和URN則是具體的資源標識的方式辨赐,URL和URN都是一種URI优俘。
P2P下載中使用的磁力鏈接是URN的一種實現(xiàn),它可以持久化地標識一個BT資源掀序,資源分布式地存儲在P2P網(wǎng)絡(luò)中帆焕,不需要中心服務(wù)器,用戶即可找到并下載它不恭。
在Java中叶雹,URI實例可以表示絕對的,也可以表示相對的换吧,只要符合URI的語法規(guī)則就行浑娜。而URL類則不僅符合語義,還包含了定位資源的信息式散,所以它不可以是相對的,schema必須被指定打颤。
URI是一種語義上的抽象概念暴拄,可以是絕對的,也可以是相對的编饺,而URL則必須提供足夠的資源來定位確切的信息乖篷,因此是絕對的。
這里所說的絕對和相對指的是絕對(absolute) 包含schem透且,相對(relative)不包含scheme撕蔼。
參考資料:http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html