http協(xié)議基礎(chǔ)之URL

URI(Uniform Resource Identifier) 統(tǒng)一資源標(biāo)識(shí)符

URI就像因特網(wǎng)上的郵政地址一樣,在世界范圍內(nèi)唯一標(biāo)識(shí)并定位信息資源。

URL 統(tǒng)一資源定位符

是資源標(biāo)識(shí)符的最常見形式,是URI的一個(gè)子集(另一個(gè)是URN)骂远。URL描述了一臺(tái)特定服務(wù)器上某資源的特定位置。它們可以說(shuō)明如何從一個(gè)精確枷踏、固定的位置獲取資源。

URL遵循的標(biāo)準(zhǔn)格式

  1. URL的第一部分被稱為方案(scheme),說(shuō)明了訪問(wèn)資源所使用的協(xié)議類型璃哟。如http://
  2. 第二部分給出了服務(wù)器的因特網(wǎng)地址
  3. 其余部分制定了Web服務(wù)器上的某個(gè)資源

現(xiàn)在幾乎所有的URI都是URL

URL語(yǔ)法

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<flag>
  1. 方案:使用的協(xié)議,不區(qū)分大小寫
  2. 用戶:訪問(wèn)某些資源需要用戶名
  3. 密碼:用戶對(duì)應(yīng)的密碼 中間用:分割
  4. 主機(jī):服務(wù)器的主機(jī)名或IP地址
  5. 端口:服務(wù)器正在監(jiān)聽的端口號(hào)
  6. 路徑:服務(wù)器資源的本地名喊递,路徑組件的語(yǔ)法是與服務(wù)器和方案有關(guān)
  7. 參數(shù):某些方案會(huì)用這個(gè)組件來(lái)指定輸入?yún)?shù)随闪。參數(shù)為名/值對(duì)。URL中可以包含多個(gè)參數(shù)字段
  8. 查詢:傳遞的參數(shù)骚勘,用"?"將其與URL的其余部分分隔開
  9. 片段:一小片或一部分資源的名字铐伴,這個(gè)字段是在客戶端內(nèi)部使用的,通過(guò)字符"#"與URL其他部分分隔開來(lái)
用戶名和密碼

很多服務(wù)器都要求輸入用戶名和密碼才允許用戶訪問(wèn)資源俏讹。常見的有FTP服務(wù)器当宴。
例如:

ftp://192.168.1.2
ftp://anonymous@192.168.1.2
ftp://anonymous:my_pwd@192.168.1.2
參數(shù)

為了向應(yīng)用程序提供它們所需的輸入?yún)?shù),以便正確地與服務(wù)器進(jìn)行交互泽疆,URL中有一個(gè)參數(shù)組件即供。這個(gè)就是URL中的名值對(duì)列表,由字符";"與其他部分分隔于微。
如:

ftp://192.168.1.2;type=d
http://192.168.1.2/index.html;sale=false/login.html;id=true
查詢字符串

很多資源都可以通過(guò)提問(wèn)題或者查詢來(lái)縮小所請(qǐng)求資源類型的范圍逗嫡。
如:

http://192.168.1.2/login.html?user=zhangsan&password=123456

經(jīng)常使用的http get請(qǐng)求傳遞的參數(shù)就是查詢字符串

片段

有些資源,比如html株依,除了資源級(jí)之外驱证,還可以進(jìn)一步劃分。比如恋腕,對(duì)一個(gè)帶有章節(jié)的大型文本文檔來(lái)說(shuō)抹锄,資源的URL會(huì)指向整個(gè)文檔,但有時(shí)我們希望能夠指定資源中的某些章節(jié)荠藤。
片段組件用來(lái)表示一個(gè)資源內(nèi)部的片段伙单。如一個(gè)特定的圖片或小節(jié)
片段掛在URL的右邊,前面用一個(gè)"#"與其他部分分隔哈肖。

HTTP服務(wù)器通常只處理整個(gè)對(duì)象吻育,而不是對(duì)象的片段,客戶端不能將片段傳給服務(wù)器淤井,瀏覽器從服務(wù)器獲取整個(gè)資源后布疼,會(huì)根據(jù)片段來(lái)顯示部分資源。

URL快捷方式

URL有兩種方式:絕對(duì)URL和相對(duì)URL币狠,相對(duì)URL只是URL的片段或一部分游两。處理URL的程序(如瀏覽器)能夠在相對(duì)和絕對(duì)URL之間進(jìn)行轉(zhuǎn)換。相對(duì)URL有利于資源的遷移漩绵,因?yàn)橄鄬?duì)URL都是相對(duì)于新基礎(chǔ)進(jìn)行解釋的贱案。這樣可以實(shí)現(xiàn)在其他服務(wù)器上提供鏡像內(nèi)容之類的功能。

基礎(chǔ)URL

轉(zhuǎn)換處理的第一步就是找到基礎(chǔ)URL止吐”ψ伲基礎(chǔ)URL是作為相對(duì)URL的參考點(diǎn)使用的。有以下幾種方式:

  1. 在資源中顯示提供 如html中的<base>標(biāo)簽
  2. 封裝資源的基礎(chǔ)URL 如果在一個(gè)沒有顯示指定基礎(chǔ)URL的資源中發(fā)現(xiàn)一個(gè)相對(duì)URL祟印,可以將它所屬資源的URL作為基礎(chǔ)
自動(dòng)擴(kuò)展URL

瀏覽器一般都提供自動(dòng)擴(kuò)展URL的功能
主要的擴(kuò)展方式:

  1. 主機(jī)名擴(kuò)展 如在瀏覽器中輸入 google.com ,瀏覽器會(huì)自動(dòng)擴(kuò)展為http://google.com
  2. 歷史擴(kuò)展 對(duì)瀏覽器歷史記錄進(jìn)行匹配查詢

URL編碼

使用一種"轉(zhuǎn)義"表示法來(lái)表示各種不安全的字符(保留及受限字符)肴沫。
如:~ 空格 %等

常見的URL方案(協(xié)議)

  1. http 超文本傳輸協(xié)議 默認(rèn)端口80
  2. https 加密的http,使用SSL進(jìn)行安全加密 默認(rèn)端口443
  3. mailto 指向Email地址蕴忆,如mailto:wustrive2008@gmail.com
  4. ftp 文件傳輸協(xié)議颤芬,用來(lái)從ftp服務(wù)器上傳或下載文件
  5. rtsp,rtspu 通過(guò)實(shí)時(shí)流傳輸協(xié)議解析音/視頻媒體資源的標(biāo)識(shí)符
  6. file 從一臺(tái)共享主機(jī)上直接訪問(wèn)文件
  7. news 用來(lái)訪問(wèn)一些特定的文章或新聞組
  8. telnet 用戶訪問(wèn)交互式業(yè)務(wù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市套鹅,隨后出現(xiàn)的幾起案子站蝠,更是在濱河造成了極大的恐慌,老刑警劉巖卓鹿,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件菱魔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吟孙,警方通過(guò)查閱死者的電腦和手機(jī)澜倦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門聚蝶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人藻治,你說(shuō)我怎么就攤上這事碘勉。” “怎么了桩卵?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵验靡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我雏节,道長(zhǎng)胜嗓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任钩乍,我火速辦了婚禮辞州,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘件蚕。我一直安慰自己孙技,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布排作。 她就那樣靜靜地躺著牵啦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妄痪。 梳的紋絲不亂的頭發(fā)上哈雏,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音衫生,去河邊找鬼裳瘪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛罪针,可吹牛的內(nèi)容都是我干的彭羹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼泪酱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼派殷!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起墓阀,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤毡惜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后斯撮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體经伙,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年勿锅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了帕膜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枣氧。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖泳叠,靈堂內(nèi)的尸體忽然破棺而出作瞄,到底是詐尸還是另有隱情,我是刑警寧澤危纫,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站乌庶,受9級(jí)特大地震影響种蝶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瞒大,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一螃征、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧透敌,春花似錦盯滚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至撵术,卻和暖如春背率,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嫩与。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工寝姿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人划滋。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓饵筑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親处坪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子根资,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354