日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

什么是根目錄 什么是根目錄文件夾( 二 )


其實(shí)是有的 , 端口號(hào)是80,只是它被隱藏起來(lái)了,我們看不到而已,而這個(gè)80端口也就是URL的默認(rèn)端口號(hào)
但不是所有URL的默認(rèn)端口號(hào)都是80,如果協(xié)議是http://,默認(rèn)端口號(hào)為80,但若是https://協(xié)議,默認(rèn)端口號(hào)就是443了
虛擬目錄從第一個(gè)斜杠/開(kāi)始,到最后一個(gè)斜杠/結(jié)束的那部分,也就是圖中/app/user/那部分即為虛擬目錄
它就類(lèi)似我們電腦中文件目錄的格式,第一個(gè)/為根目錄,每多一個(gè)/就多進(jìn)入一層目錄
文件名從域名后開(kāi)始算起的最后一個(gè)斜杠/開(kāi)始,到?為止,沒(méi)有?則到#為止 , 或者?和#都沒(méi)有就是到整個(gè)URL結(jié)束為止的那部分就為文件名
說(shuō)起來(lái)很繞吧,其實(shí)就是圖中 info.do 這部分 , 它一般包含文件名和擴(kuò)展名('.'后面那部分),用來(lái)指代一個(gè)URL所訪(fǎng)問(wèn)的具體文件或資源,它可以是圖片、html文件、css文件 , 也可以是js文件、字體文件等等,它也可以不是某種文件 , 而是服務(wù)端后臺(tái)執(zhí)行的某段程序 。
甚至可以省略不寫(xiě)虛擬目錄和文件名,因?yàn)樗鼈儽緛?lái)就不是必須的,就如http://www.baidu.com這樣的URL就沒(méi)有文件名 , 但服務(wù)器會(huì)在缺省的情況下給你定位到某個(gè)特定的文件或程序上去 。
查詢(xún)參數(shù)從?后到#結(jié)束,即圖中的?uid=101&ty=2為查詢(xún)參數(shù)
查詢(xún)參數(shù),也稱(chēng)為URL參數(shù)、查詢(xún)字符串 , 英文名為 Query,它是用來(lái)向服務(wù)端以字符串的形式傳遞參數(shù)和少數(shù)數(shù)據(jù)用的
其參數(shù)形式一般都以多個(gè)鍵值對(duì)的形式進(jìn)行表示,如 a=1、b=2就是兩個(gè)鍵值對(duì) , 鍵為"a"和"b",值為對(duì)應(yīng)的"1"和"2", 多個(gè)鍵值對(duì)應(yīng)&連起來(lái):a=1&b=2
URL編碼但參數(shù)要傳遞的某些值往往帶有特殊字符,這些字符和URL標(biāo)準(zhǔn)的格式?jīng)_突,比如要傳a&b這樣字符串,和查詢(xún)參數(shù)鍵值對(duì)的連接符&沖突了,若不加以區(qū)分就會(huì)產(chǎn)生歧義
而最簡(jiǎn)單的辦法,就是對(duì)參數(shù)值進(jìn)行編碼 , 稱(chēng)為 URL Encoding,通過(guò)編碼,a&b變成了a%26b,就不再包含會(huì)沖突的特殊字符
而有些參數(shù)即便有特殊字符,也不會(huì)被編碼 , 除非自行強(qiáng)制編碼,比如URL中參數(shù)值是另外一串URL,就可以寫(xiě)成 http://localhost/do?url=http://www.baidu.com這種特殊情況不會(huì)有歧義,因?yàn)橛?jì)算機(jī)系統(tǒng)認(rèn)得出參數(shù)是另一串URL,就會(huì)按URL的形式來(lái)解析 , 但當(dāng)子URL又包含子參數(shù)和多子鍵值對(duì)的時(shí)候也難免會(huì)分不清參數(shù)到底是兒子的還是父親的,這時(shí)還是強(qiáng)制編碼的好
列表參數(shù)URL的參數(shù)是一個(gè)個(gè)鍵值對(duì),即一個(gè)key對(duì)應(yīng)一個(gè)value , 那如果是一個(gè)key要傳遞多個(gè)值,也就是一個(gè)列表咋辦?也好辦
URL的參數(shù)名是可以重復(fù)的,比如a=1&a=2&a=3,這里穿了3個(gè)參數(shù)名都為a的查詢(xún)參數(shù),是完全可以的,可以利用這種特性,按順序?qū)?1、2、3作為參數(shù)a的列表值
為了表示更清楚點(diǎn),一般都會(huì)在列表參數(shù)名后面加上一對(duì)方括號(hào)[],如:a[]=1&a[]=2&a[]=3
但是,對(duì)于URL參數(shù)的寫(xiě)法和格式的標(biāo)準(zhǔn),也沒(méi)有特別嚴(yán)格的規(guī)定,以上幾種形式一般都會(huì)支持
錨圖中#后面那部分字符串,#abc就是錨部分
錨,英文稱(chēng)做Reference,通常也是用來(lái)傳遞參數(shù)等信息,但與查詢(xún)參數(shù)的本質(zhì)區(qū)別就是這部分內(nèi)容不會(huì)被傳遞到服務(wù)器端
錨一般用于頁(yè)面,比如在瀏覽網(wǎng)頁(yè)的時(shí)候,按個(gè)按鈕突然幫你定位到頁(yè)首或頁(yè)面中的某個(gè)位子去了,這就是錨
現(xiàn)在隨著前后端分離技術(shù),尤其是 vue、reactjs 等前端框架的興起,錨作為前端javascript程序處理的參數(shù)載體也越來(lái)越重要了
結(jié)語(yǔ)URL看似已經(jīng)習(xí)以為常、非常簡(jiǎn)單的東西 , 背后往往也隱藏著很多技術(shù)細(xì)節(jié)和知識(shí)點(diǎn),甚至這短短一篇文章也沒(méi)辦法窮盡

推薦閱讀