網址鏈接是否區分大小寫?

zh周晶


通常我們訪問一個網頁,瀏覽器地址欄裡都會出現一串文本,我們習慣上稱這串文本為網址,其實我們說的網址是指URL(統一資源定位符)。在我們日常上網過程中肯定有不少朋友發現有些網址是嚴格區分大小寫的,而有些感覺又不區分大小寫,於是會有迷惑,網址到底區不區分大小寫呢?

我們所說的網址是什麼?

我們所說的網址其實官方術語叫作:URL(統一資源定位符),我們所說的網頁鏈接其實說的也是URL。

在互聯網世界中,所有的文件都有一個唯一的URL,瀏覽器識別了URL之後就知道要請求的文件在什麼位置以及以什麼形式來處理此請求。

URL的組成有哪些?

一個完整的URL主要包含以下部分:

  • 協議部分(protocol://):以什麼協議去請求和處理文件,一般的都是超文本傳輸協議,也就是HTTP協議(http://);

  • 網址部分(hostname[:port]):這部分主要是指域名或者服務器IP地址部分,比如:www.xxx.com

    或者 192.168.1.1:8090等;

  • 文件地址部分(/path):這塊才是請求的文件地址部分,如:/index.php、/abc.mp3 等;

  • 查詢字符串部分([?query]):這塊也就是我們常說的GET傳參,比如:?args1=123&args2=456;

  • 錨點部分:如果網頁中包含了多個片段,我們可以通過設置錨點使網頁直接定位到指定位置。

URL的組成部分我製作了一張圖片供大家參考:

URL是否區分大小寫?

上面說到了URL的組成部分,其實這些組成部分有些是區分大小寫的有些不區分大小寫。具體規則是這樣的:

1、不區分大小寫的部分有:

  • 協議部分

  • 主機名、域名部分

  • 服務器端口部分

以上部分在請求時如果寫成了大寫,在瀏覽器中會被自動轉換為小寫。

2、大小寫視環境影響的部分:

  • 文件地址部分:如果是物理存在的文件,在Windows服務器上是不區分大小寫的,在Linux服務器下是嚴格區分大小寫的;如果是動態文件請求,那要看程序是如何處理的,因為程序可以做到對動態頁面區分大小寫,也可以不區分大小寫。


  • 請求參數部分:不同編程語言對於GET參數的解析規則不同,一般情況下是嚴格區分大小寫的,也可以通過程序設置為不區分大小寫。

  • 錨點部分:這部分不同瀏覽器的解析策略不同,在IE瀏覽器下錨點不區分大小寫,但對於Safari、FireFox這類瀏覽器又是嚴格區分錨點大小寫的。

總結:URL鏈接沒有絕對的區分大小寫,也沒有絕對的不區分大小寫,不同組成部分受第三方因素影響。

以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我瞭解更多科技知識!

網絡圈


第三個斜槓(/)之前的字符不區分大小寫,

後面的字符區分大小寫而且不支持中文(中文需要轉碼,瀏覽器可以顯示為中文,實質上不是中文,需要轉義)


分享到:


相關文章: