URL和URI撒会、相對(duì)URL的基本概念 學(xué)習(xí)筆記

URL(Uniform Resource Locator)是最常見的URI(Uniform Resource Identifier)遍尺。URI只標(biāo)識(shí)資源质蕉,URL既標(biāo)識(shí)資源也獲取資源挠轴。
URL是在JAVA中定位和獲取網(wǎng)絡(luò)數(shù)據(jù)最為簡(jiǎn)便的方法传睹。

URI

URI語(yǔ)法格式如下:
模式:模式特定部分
當(dāng)前的,模式有:
data:岸晦;連接中直接包含的Base64編碼數(shù)據(jù)欧啤,參見RFC 2397;
file:本地磁盤上的文件
ftp:FTP服務(wù)器
http:使用超文本傳輸協(xié)議的國(guó)際互聯(lián)網(wǎng)服務(wù)器
mailto:電子郵件地址
magnet:可以通過(guò)對(duì)等網(wǎng)絡(luò)下載的資源
telnet:與基于Telnet的服務(wù)的連接
urn:統(tǒng)一資源名(Uniform Resource Name启上,URN)
還包括其他rmi,jar,jndi,doc等

URL

URL的語(yǔ)法格式為:
protocol://userInfo@host:port/path?query#fragment
protocol:可以是file邢隧、ftp、http冈在、https倒慧、magnet、telnet等
userInfo:用戶信息
host:服務(wù)器的主機(jī)名或IP地址
port:可選,在默認(rèn)端口執(zhí)行則不需要(如http在80端口)
用戶信息纫谅、主機(jī)和端口一起構(gòu)成權(quán)威機(jī)構(gòu)(Authority)炫贤,以上字段均可通過(guò)對(duì)應(yīng)的get方法(如getProtocol()、getHost()等)獲取系宜,除getPort返回int外照激,其他方法均返回String发魄。

path:指向服務(wù)器的特定目錄
query:向服務(wù)器提供的字符串參數(shù)

相對(duì)URL

繼承父文檔部分信息盹牧,可以省去部分信息,將新目錄和父目錄進(jìn)行裁截励幼、拼接汰寓。
例如:
在瀏覽器瀏覽
http://www.ibiblio.org/java/javafaq/javatutorial.html
的時(shí)候點(diǎn)擊相對(duì)鏈接
<a href="javafaq.html">
則將訪問(wèn):
http://www.ibiblio.org/java/javafaq/javafaq.html

若相對(duì)鏈接以"/"開頭則相對(duì)的是根目錄,若點(diǎn)擊以下鏈接:
<a href="/projects/ipv6">
將訪問(wèn):
http://www.ibiblio.org/projects/ipv6

相對(duì)鏈接允許使用多種協(xié)議來(lái)提供文檔樹苹粟,允許將文檔樹從一個(gè)網(wǎng)站復(fù)制或移動(dòng)到另一個(gè)網(wǎng)站有滑,而不會(huì)破壞所有的內(nèi)部鏈接。

構(gòu)建URL

最常用的直接由字符串構(gòu)建:
public URL(String url) throws MalformedException
或通過(guò)指定協(xié)議嵌削、主機(jī)名和文件構(gòu)建:
public URL(String protocol,String hostname,String file)throws MalformedException
當(dāng)創(chuàng)建的URL為虛擬機(jī)不支持的協(xié)議時(shí) 拋出MalformedException異常毛好。

URL的相等性和比較

指向同一主機(jī)上同一端口和同一路徑下的相同資源,而且擁有相同片段標(biāo)識(shí)符和相同查詢字符串的兩個(gè)URL被認(rèn)為是相同的苛秕。
equals:嘗試解析DNS服務(wù)以判斷兩個(gè)URL是否相同肌访,是一個(gè)阻塞的IO操作;
sameFile:與equals基本一致艇劫,但 不考慮片段標(biāo)識(shí)符吼驶。

URL沒(méi)有實(shí)現(xiàn)Comparable。

URL編碼和解碼

分部分進(jìn)行店煞,避免對(duì)不需要編解碼的部分進(jìn)行操作

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蟹演,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子顷蟀,更是在濱河造成了極大的恐慌酒请,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸣个,死亡現(xiàn)場(chǎng)離奇詭異蚌父,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)毛萌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門苟弛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人阁将,你說(shuō)我怎么就攤上這事膏秫。” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵缤削,是天一觀的道長(zhǎng)窘哈。 經(jīng)常有香客問(wèn)我,道長(zhǎng)亭敢,這世上最難降的妖魔是什么滚婉? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮帅刀,結(jié)果婚禮上让腹,老公的妹妹穿的比我還像新娘。我一直安慰自己扣溺,他們只是感情好骇窍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锥余,像睡著了一般腹纳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驱犹,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天嘲恍,我揣著相機(jī)與錄音,去河邊找鬼雄驹。 笑死佃牛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的荠医。 我是一名探鬼主播吁脱,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼彬向!你這毒婦竟也來(lái)了兼贡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤娃胆,失蹤者是張志新(化名)和其女友劉穎遍希,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體里烦,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凿蒜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胁黑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片废封。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖丧蘸,靈堂內(nèi)的尸體忽然破棺而出漂洋,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布刽漂,位于F島的核電站演训,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贝咙。R本人自食惡果不足惜样悟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望庭猩。 院中可真熱鬧窟她,春花似錦、人聲如沸眯娱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)徙缴。三九已至,卻和暖如春嘁信,著一層夾襖步出監(jiān)牢的瞬間于样,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工潘靖, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留穿剖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓卦溢,卻偏偏與公主長(zhǎng)得像糊余,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子单寂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理贬芥,服務(wù)發(fā)現(xiàn),斷路器宣决,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • 最近難得有時(shí)間蘸劈,可以看看平時(shí)經(jīng)常用的牛逼的三方框架是怎么實(shí)現(xiàn)的,學(xué)習(xí)學(xué)習(xí)尊沸。比如okhttp 威沫,眼下安卓開發(fā) 網(wǎng)絡(luò)框...
    張哲1111閱讀 1,234評(píng)論 0 1
  • 前言:最近發(fā)現(xiàn)自己在網(wǎng)絡(luò)相關(guān)這一塊基礎(chǔ)很是欠缺,所以準(zhǔn)備花時(shí)間了解一下洼专,本文主要是講http協(xié)議的一些基礎(chǔ)棒掠,和一些...
    justCode_閱讀 2,094評(píng)論 0 23
  • 鷓鴣天-午睡 濃睡閉目伸懶腰,觀窗前屁商,竹搖風(fēng)動(dòng)雨細(xì)下烟很,夢(mèng)中何人喚我,未憶起,唯知此前光透簾溯职。 歷萬(wàn)事精盅,察百態(tài),莫是...
    小曉笑_f081閱讀 277評(píng)論 0 1
  • 峽邇閱讀 217評(píng)論 0 0