有些人會對於網址的英文大小寫問題有些混淆,搞不清楚到底 URL 中的英文大小寫的差別在哪裡,這裡有詳盡的實測與說明。

在成立網站時,都會需要申請一個網址,許多人都會希望自己的品牌名稱可以直接呈現在網址上,最好英文的大小寫也都可以完全符合,一目暸然,以下我們有完整的網址大小寫說明,告訴您網址到底可不可以使用大寫的英文字母?大小寫的字母是否有差異?以及到底該選擇哪一種表示方式比較好?


要討論網址的大小寫之前,我們要先大約了解一下網址的結構,一般網址的形式大概是這樣:

http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument

以下是網址各個部分的英文大小寫說明。

通訊協定(Protocol)

網址的第一個部分是通訊協定,一般網站最常見的協定就是 httphttps

mdn-url-protocol

而依照 RFC 的規定,scheme 是不分大小寫的,不管是寫成 httpHTTP 或是 Http,都沒有關係,但是如果要作為正式名稱時,還是要以全部都是小寫的 http 為準。

網域名稱(Domain Name)

網域名稱應該是大家比較會想要使用大寫字母的部分,這個部分也是不分大小寫的,

mdn-url-domain

假設我們申請了 gtwang.org 這個網址,那麼在網站架設好之後,不管在瀏覽器輸入 gtwang.orgGTWANG.ORGGTWang.Org,都一樣會連到我們的網站,所以這個部分可以隨意更改英文字母的大小寫。

連接埠(Port)

對於正常的網站來說,網址裡面是不會包含這個部分的,而且這個部分也只有連接埠的埠號,沒有大小寫問題。

mdn-url-port

網頁路徑(Path)

在網域名稱與連接埠之後,接著就是網頁的路徑。

mdn-url-path

這個部分的英文字母大小寫會因為伺服器的作業系統而有不同,以 Windows 的伺服器而言是不分大小寫的,但是 UNIX/Linux 系統則會區分大小寫,位於一般的使用者而言要判斷是否可以更改大小寫並不容易,建議是不要任意更改這個部分的英文大小寫。

參數(Parameters)

參數的部分通常都是一些要傳送給網頁伺服器的資料,有各種鍵值的對應。

mdn-url-parameters

這個狀況就跟網頁路徑類似,會跟網頁伺服器的作業系統有關,所以大小寫不能任意更改,建議維持原狀就好。

錨點(Anchor)

錨點可以讓超連結直接指向至 HTML 網頁中的某一個特定位置,也是一個很常見的功能。

mdn-url-anchor

而錨點會對應到網頁 HTML 中的 idname,這兩個屬性是有分大小寫的,所以這個部分也是不可以隨意更改大小寫的。

結論

簡單來說,一個網頁的網址中,只有「通訊協定」與「網域名稱」的部分可以任意修改大小寫(以下紅色的部分):

http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument

其他的部分都不可以任意更改英文字母的大小寫,如果任意更動的話,有可能會造成網址失效的問題。

雖然「通訊協定」與「網域名稱」的大小寫是可以任意更改的,然而不管是在標準上或是大眾的使用習慣上,都還是會以全部小寫的網址為主,市面上絕大部分的網址也都是以小寫的方式表示,因此除非必要,不然使用小寫的網址其實會比較好,不會讓人感覺太突兀。

參考資料:MDNWiredImpactMOZminiasp