網(wǎng)址鏈接是否區(qū)分大小寫(xiě)?
通常我們?cè)L問(wèn)一個(gè)網(wǎng)頁(yè),瀏覽器地址欄里都會(huì)出現(xiàn)一串文本,我們習(xí)慣上稱(chēng)這串文本為網(wǎng)址,其實(shí)我們說(shuō)的網(wǎng)址是指URL(統(tǒng)一資源定位符)。在我們?nèi)粘I暇W(wǎng)過(guò)程中肯定有不少朋友發(fā)現(xiàn)有些網(wǎng)址是嚴(yán)格區(qū)分大小寫(xiě)的,而有些感覺(jué)又不區(qū)分大小寫(xiě),于是會(huì)有迷惑,網(wǎng)址到底區(qū)不區(qū)分大小寫(xiě)呢?
我們所說(shuō)的網(wǎng)址是什么?我們所說(shuō)的網(wǎng)址其實(shí)官方術(shù)語(yǔ)叫作:URL(統(tǒng)一資源定位符),我們所說(shuō)的網(wǎng)頁(yè)鏈接其實(shí)說(shuō)的也是URL。
在互聯(lián)網(wǎng)世界中,所有的文件都有一個(gè)唯一的URL,瀏覽器識(shí)別了URL之后就知道要請(qǐng)求的文件在什么位置以及以什么形式來(lái)處理此請(qǐng)求。
URL的組成有哪些?一個(gè)完整的URL主要包含以下部分:
協(xié)議部分(protocol://):以什么協(xié)議去請(qǐng)求和處理文件,一般的都是超文本傳輸協(xié)議,也就是HTTP協(xié)議(http://);
網(wǎng)址部分(hostname[:port]):這部分主要是指域名或者服務(wù)器IP地址部分,比如:www.xxx.com
或者 192.168.1.1:8090等;文件地址部分(/path):這塊才是請(qǐng)求的文件地址部分,如:/index.php、/abc.mp3 等;
查詢(xún)字符串部分([?query]):這塊也就是我們常說(shuō)的GET傳參,比如:?args1=123&args2=456;
錨點(diǎn)部分:如果網(wǎng)頁(yè)中包含了多個(gè)片段,我們可以通過(guò)設(shè)置錨點(diǎn)使網(wǎng)頁(yè)直接定位到指定位置。
URL的組成部分我制作了一張圖片供大家參考:URL是否區(qū)分大小寫(xiě)?上面說(shuō)到了URL的組成部分,其實(shí)這些組成部分有些是區(qū)分大小寫(xiě)的有些不區(qū)分大小寫(xiě)。具體規(guī)則是這樣的:
1、不區(qū)分大小寫(xiě)的部分有:
協(xié)議部分
主機(jī)名、域名部分
服務(wù)器端口部分
以上部分在請(qǐng)求時(shí)如果寫(xiě)成了大寫(xiě),在瀏覽器中會(huì)被自動(dòng)轉(zhuǎn)換為小寫(xiě)。2、大小寫(xiě)視環(huán)境影響的部分:
文件地址部分:如果是物理存在的文件,在Windows服務(wù)器上是不區(qū)分大小寫(xiě)的,在Linux服務(wù)器下是嚴(yán)格區(qū)分大小寫(xiě)的;如果是動(dòng)態(tài)文件請(qǐng)求,那要看程序是如何處理的,因?yàn)槌绦蚩梢宰龅綄?duì)動(dòng)態(tài)頁(yè)面區(qū)分大小寫(xiě),也可以不區(qū)分大小寫(xiě)。
請(qǐng)求參數(shù)部分:不同編程語(yǔ)言對(duì)于GET參數(shù)的解析規(guī)則不同,一般情況下是嚴(yán)格區(qū)分大小寫(xiě)的,也可以通過(guò)程序設(shè)置為不區(qū)分大小寫(xiě)。
錨點(diǎn)部分:這部分不同瀏覽器的解析策略不同,在IE瀏覽器下錨點(diǎn)不區(qū)分大小寫(xiě),但對(duì)于Safari、FireFox這類(lèi)瀏覽器又是嚴(yán)格區(qū)分錨點(diǎn)大小寫(xiě)的。
總結(jié):URL鏈接沒(méi)有絕對(duì)的區(qū)分大小寫(xiě),也沒(méi)有絕對(duì)的不區(qū)分大小寫(xiě),不同組成部分受第三方因素影響。
以上就是我的觀(guān)點(diǎn),對(duì)于這個(gè)問(wèn)題大家是怎么看待的呢?歡迎在下方評(píng)論區(qū)交流 ~ 我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),歡迎關(guān)注我了解更多科技知識(shí)!