什么uri、url和urn是識(shí)別、定位和命名互聯(lián)網(wǎng)上的資源的標(biāo)準(zhǔn)途徑。分析了uri、url和urn和java api的uri和url類(以及與url相關(guān)的類),并演示了如何在程序中使用這些類。
1989年tim berners-lee發(fā)明了互聯(lián)網(wǎng)(world wide web)。www被認(rèn)為是全球互連的實(shí)際的和抽象的資源的集合--它按需求提供信息實(shí)體--通過(guò)互聯(lián)網(wǎng)訪問(wèn)。實(shí)際的資源的范圍從文件到人,抽象的資源包括數(shù)據(jù)庫(kù)查詢。
因?yàn)橐ㄟ^(guò)多樣的方式識(shí)別資源(人的名字可能相同,然而計(jì)算機(jī)文件只能通過(guò)唯一的路徑名稱組合訪問(wèn)),所以需要標(biāo)準(zhǔn)的識(shí)別www資源的途徑。為了滿足這種需要,tim berners-lee引入了標(biāo)準(zhǔn)的識(shí)別、定位和命名的途徑:uri、url和urn。
uri、url和urn是什么?
體系中的uri、url和urn是彼此關(guān)聯(lián)的。uri的范疇位于體系的頂層,url和urn的范疇位于體系的底層。這種排列顯示url和urn都是uri的子范疇, uri表示的是統(tǒng)一的資源標(biāo)識(shí),它是以某種統(tǒng)一的(標(biāo)準(zhǔn)化的)方式標(biāo)識(shí)資源的簡(jiǎn)單字符串。典型情況下,這種字符串以scheme(命名uri的名字空間的標(biāo)識(shí)符--一組相關(guān)的名稱)開(kāi)頭,語(yǔ)法
[scheme:] scheme-specific-part
uri以scheme和冒號(hào)開(kāi)頭。scheme用大寫(xiě)/小寫(xiě)字母開(kāi)頭,后面為空或者跟著更多的大寫(xiě)/小寫(xiě)字母、數(shù)字、加號(hào)、減號(hào)和點(diǎn)號(hào)。冒號(hào)把scheme與scheme-specific-part分開(kāi)了,并且scheme-specific-part的語(yǔ)法和語(yǔ)義(意思)由uri的名字空間決定。
其中一個(gè)例子是http://www.cnn.com,其中http是scheme,//http://www.cnn.com是 scheme-specific-part,并且它的scheme與scheme-specific-part被冒號(hào)分開(kāi)了。
我們可以把uri按照絕對(duì)的或相對(duì)的分類。絕對(duì)的uri指以scheme(后面跟著冒號(hào))開(kāi)頭的uri。前面提到的http://www.cnn.com就是絕對(duì)的uri的一個(gè)例子,其它的例子還有mailto:jeff@javajeff.com、news:comp.lang.java.help和xyz://whatever。你可以把絕對(duì)的uri看作是以某種方式引用某種資源,而這種方式對(duì)標(biāo)識(shí)符出現(xiàn)的環(huán)境沒(méi)有依賴。
如果使用文件系統(tǒng)作類比,絕對(duì)的uri類似于從根目錄開(kāi)始的某個(gè)文件的路徑。與絕對(duì)的uri不同的,相對(duì)的uri不是以scheme(后面跟著冒號(hào))開(kāi)始的uri。
它的一個(gè)例子是articles/articles.html。你可以把相對(duì)的uri看作是以某種方式引用某種資源,而這種方式依賴于標(biāo)識(shí)符出現(xiàn)的環(huán)境。如果用文件系統(tǒng)作類比,相對(duì)的uri類似于從當(dāng)前目錄開(kāi)始的文件路徑。
以上內(nèi)容是關(guān)于Java網(wǎng)絡(luò)編程之URI、URL研究專題一的介紹,要想了解更多相關(guān)信息、教育培訓(xùn)內(nèi)容,請(qǐng)隨時(shí)關(guān)注唯學(xué)網(wǎng),小編會(huì)第一時(shí)間為大家更新、跟進(jìn)最新信息。