国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java網(wǎng)絡(luò)編程之URI、URL研究專題二

2019-11-18 10:46:13
字體:
供稿:網(wǎng)友

  最后一個(gè)組件是fragment。盡管該組件作為URI的一部分出現(xiàn),但不是絕對(duì)的。當(dāng)使用URI進(jìn)行某種檢索操作時(shí),后面執(zhí)行操作的軟件使用fragment聚焦于軟件感愛好的資源部分(在該軟件成功檢索到資源的數(shù)據(jù)后)。
  
  為了實(shí)際表現(xiàn)前面提到的組件信息,可以使用下面的URI:
  
  FTP://george@x.com:90/public/notes?text=shakespeare#hamlet
  
  上面的URI把ftp識(shí)別為大綱,把george@x.com:90識(shí)別為基于服務(wù)器的授權(quán)機(jī)構(gòu)(其中g(shù)eorge是用戶信息,x.com是主機(jī),90是端口),把/public/notes識(shí)別為路徑,把text=shakespeare識(shí)別為查詢,把hamlet識(shí)別為片斷。
  
  本質(zhì)上它是一個(gè)叫做george的用戶希望通過/public/notes路徑在服務(wù)器x.com的90端口上檢索shakespeare文本的hamlet信息。在shakespeare成功的返回到該程序后,程序定位hamlet段并把它呈獻(xiàn)給該用戶。
  
  標(biāo)準(zhǔn)化可以通過目錄術(shù)語來理解。假定目錄x直接位于根目錄之下,x有子目錄a和b,b有文件memo.txt,a是當(dāng)前目錄。為了顯示memo.txt中的內(nèi)容(在微軟Windows下),你可能輸入type /x/./b/memo.txt。
  
  你也可能輸入type /x/a/../b/memo.txt,在這種情況下,a和..的出現(xiàn)是沒有必要的。這兩種形式都不是最簡單的。但是假如輸入/x/b/memo.txt,你就指定了最簡單的路徑了,從根目錄開始訪問memo.txt。最簡單的/x/b/memo.txt路徑就是標(biāo)準(zhǔn)化的路徑。
  
  通常通過基本的和相對(duì)的URI訪問資源。基本的URI是絕對(duì)的URI,它唯一地標(biāo)識(shí)了某種資源的名字空間,而相對(duì)的URI標(biāo)識(shí)了與基礎(chǔ)的URI相對(duì)的資源。(與基本的URI不同,相對(duì)的URI在某種資源的生存周期內(nèi)可以永遠(yuǎn)不需要改變)。因?yàn)榛镜暮拖鄬?duì)的URI都不能完整的識(shí)別某種資源,有必要把兩種URI通過解析過程合并。相反地,通過相對(duì)化從合并的URI中提取相對(duì)的URI也是可行的。
  
  注重
  
  不透明的URI與其它的URI不同,它不服從標(biāo)準(zhǔn)化、分解和相對(duì)化。
  
  假定你把x://a/作為基礎(chǔ)的URI,并把b/c作為相對(duì)的URI。根據(jù)基礎(chǔ)URI分解這個(gè)相對(duì)的URI將產(chǎn)生x://a/b/c。根據(jù)x://a/相對(duì)化x://a/b/c將產(chǎn)生b/c。
  
  URI不能定位或讀取/寫入資源。這是統(tǒng)一的資源定位器(URL)的任務(wù)。URL是一種URI,但是它的大綱組件是已知的網(wǎng)絡(luò)協(xié)議(簡稱協(xié)議),并且它把URI組件與某種協(xié)議處理程序(一種資源定位器和根據(jù)協(xié)議建立的約束規(guī)則與資源通訊的讀/寫機(jī)制)。
  
  URI一般不能為資源提供持久不便的名稱。這是統(tǒng)一的資源命名(URN)的任務(wù)。URN也是一種URI,但是全球唯一的、持久不便的,即使資源不在存在或不再使用。
  
  使用URI
  
  網(wǎng)絡(luò)API通過提供了URI類(位于java.net程序包中),使我們?cè)谠创a層使用URI成為可能。URI的構(gòu)造函數(shù)建立了封裝URI的URI對(duì)象;URI的方法建立URI對(duì)象。
  
  假如授權(quán)機(jī)構(gòu)組件是基于服務(wù)器的就分析它,提取URI組件,決定URI對(duì)象的URI是絕對(duì)的還是相對(duì)的;決定URI對(duì)象的URI是不透明的還是分層的。
  
  比較兩個(gè)URI對(duì)象中的URI;標(biāo)準(zhǔn)化(normalize)URI對(duì)象的URI;根據(jù)URI對(duì)象的基礎(chǔ)URI分解某個(gè)相對(duì)的URI以得到已分解的URI。根據(jù)URI對(duì)象的基礎(chǔ)URI關(guān)聯(lián)某個(gè)已分解的URI以得到相對(duì)的URI,把URI對(duì)象轉(zhuǎn)換為URL對(duì)象。
  
  我們進(jìn)一步查看URI類,在它里面有五個(gè)構(gòu)造函數(shù)。最簡單的是URI(String uri)。這個(gè)構(gòu)造函數(shù)把URI作為String類型的參數(shù),把URI分解為組件,并把這些組件存儲(chǔ)在一個(gè)新的URI對(duì)象中。
  
  假如String對(duì)象的URI(通過uri引用)違反了RFC 2396的語法規(guī)則,其它的四個(gè)構(gòu)造函數(shù)URI(String uri)將會(huì)產(chǎn)生一個(gè)java.net.URISyntaxException對(duì)象。
  
  下面的代碼片斷演示了使用URI(String uri)建立封裝了一個(gè)簡單的URI組件的URI對(duì)象:
  
  URI uri = new URI ("http://www.cnn.com");

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安多县| 浮梁县| 论坛| 徐州市| 历史| 南漳县| 滦南县| 彰化市| 牡丹江市| 墨江| 武城县| 平泉县| 田东县| 慈溪市| 福贡县| 裕民县| 寻甸| 翁牛特旗| 眉山市| 新余市| 鄂尔多斯市| 进贤县| 天镇县| 株洲市| 定南县| 嘉义县| 黑龙江省| 平潭县| 庐江县| 突泉县| 金寨县| 丹江口市| 伊吾县| 怀远县| 凭祥市| 平凉市| 长寿区| 蚌埠市| 青海省| 沂水县| 阿图什市|