# 一、URL編碼 ## 1.簡介 URL編碼(URL-coding),又稱百分號編碼。也就是我們俗稱的網址,屬於統一資源標示符的一種。用於通過HTTP的請求操作提交HTML表單資料。每個網址都是獨一無二的,因此網址對網站設計是非常重要的。 ## 2.百分號編碼的字元類型 URL所允許的字元包含保留與未保留。保留字元是指具有特殊含義的字元,例如:斜線字元當作URL不同部分的分界,而未保留字元則沒有這些特殊含義。百分號編碼把保留字元表示為特殊字元序列。 ![](https://i.imgur.com/gsuCDeS.png) > 圖一:保留字元 ![](https://i.imgur.com/Y5U3j4j.png) > 圖二:非保留字元 # 二、為何需要URL編碼? 當我的參數值中包含了像&或=這種特殊符號時會發生什麼事?結果就是傳輸的過程中會產生歧異。下面是常見的一個例子: >***當我要傳輸「name1=value1」時,其中value1的值是代表「va&lu=e1」字符串,傳輸過程中就會變成「name1=va&lu=e1」。*** 但只要在各個的字節前加上 **%** 的話,就會將 **%** 後方的特殊字節當作普通字節。這樣上述產生歧異的字節範例就會變成: > ***name1=va%26lu%3D*** 服務端會把緊跟在「%」後的字節當成普通的字節,就是不會把它當成各個參數或鍵值對的分隔符。 # 三、參考資料 1. 維基百科,百分號編碼。檢自https://zh.wikipedia.org/wiki/%E7%99%BE%E5%88%86%E5%8F%B7%E7%BC%96%E7%A0%81(Oct 3,2021) 2. 鵠崙設計,什麼是URL網址IP?網域Domain中文意思是什麼?檢自https://www.design-hu.com/web-news/domain.html(Oct 3,2021) 3. 每日頭條,為什麼要進行URL編碼(2019)。檢自 https://kknews.cc/zh-tw/news/6938p43.html (Oct 3,2021)