URL語(yǔ)法
http://www.baidu.com/index/1.html(協(xié)議名忍些,主機(jī)名,(端口號(hào))坎怪,路徑名)
方案(協(xié)議):不區(qū)分大小寫(xiě)罢坝。
主機(jī)名:標(biāo)識(shí)了能夠訪問(wèn)資源的宿主機(jī)器,可以用主機(jī)名或IP地址表示搅窿。
端口號(hào):服務(wù)器正在監(jiān)聽(tīng)的網(wǎng)絡(luò)端口嘁酿。下層使用了TCP協(xié)議的HTTP默認(rèn)為80。
用戶名和密碼:FTP協(xié)議就需要輸入用戶名和密碼男应。
路徑:說(shuō)明了資源位于服務(wù)器的什么地方闹司,像一個(gè)分級(jí)文件系統(tǒng)路徑。
參數(shù):是名值對(duì)列表沐飘,提供了訪問(wèn)資源的所有附加信息游桩,用“;”將其他部分分隔開(kāi)。如“;type=d”耐朴。而且在路徑中每段都可以有參數(shù)借卧。
查詢字符串:用來(lái)縮小請(qǐng)求資源類型范圍「艄浚“?color=blue&size=large”谓娃。
片段:引用部分資源或資源的一個(gè)片段,“#index”蜒滩。
HTTP服務(wù)器只處理整個(gè)對(duì)象滨达,而不是對(duì)象的片段,客戶端不能將片段傳送給服務(wù)器俯艰。瀏覽器從服務(wù)器獲得了整個(gè)資源后捡遍,會(huì)根據(jù)片段顯示需要的部分資源。所以竹握,URL片段僅由客戶端使用画株。
相對(duì)URL
相對(duì)它所在文檔的URL。通過(guò)文檔的基礎(chǔ)URL啦辐,推導(dǎo)出其完整的URL谓传。
HTML文檔中會(huì)包含<BASE>標(biāo)簽定義了基礎(chǔ)的URL。用來(lái)轉(zhuǎn)換所有相對(duì)的URL芹关。如果沒(méi)有顯示指定续挟,會(huì)將所屬資源的URL作為基礎(chǔ)URL。如果沒(méi)有基礎(chǔ)URL侥衬,就只是一個(gè)損壞了的URL诗祸。
自動(dòng)擴(kuò)展URL
主機(jī)名擴(kuò)展:比如輸入yahoo跑芳,會(huì)自動(dòng)構(gòu)建www.yahoo.com,如果找不到直颅,就放棄之前的擴(kuò)展博个。
歷史擴(kuò)展:將以前用戶輸入過(guò)的URL歷史存起來(lái),輸入時(shí)就會(huì)自動(dòng)與歷史記錄中進(jìn)行匹配功偿,提供完整的供你選擇盆佣。
URL編碼
URL字符集通常以英語(yǔ)為中心,通常以US-ASCII字符集械荷,加入轉(zhuǎn)義序列后罪塔,就可以對(duì)任意字符值或數(shù)據(jù)進(jìn)行編碼,很多協(xié)議都可以識(shí)別养葵,實(shí)現(xiàn)了可移植性和完整性征堪。
URL展望
因?yàn)閁RL只能定位資源所在的位置,如果改變了位置关拒,就找不到佃蚜。通過(guò)一個(gè)中間層資源定位符服務(wù)器對(duì)實(shí)際URL進(jìn)行登記和跟蹤∽虐恚客戶端可以向定位符請(qǐng)求一個(gè)永久URL谐算,定位符以一個(gè)資源作為響應(yīng),將客戶端重定向到資源當(dāng)前實(shí)際的URL上去归露。但是URL還有大量的能量洲脂,URN還很遙遠(yuǎn)。