HTML鏈接和Web書寫URL之處理保留字符和不安全字符

除了那些無法顯示的字符外,還需要在URL中對那些保留(reserved)字符和不安全(unsafe)字符進行編碼。


   所謂保留字符就是那些在URL中具有特定意義的字符。例如,在URL中用於分隔路徑名中各元素的斜線字符。

 

   如果需要在URL中包含一個斜線,而不希望將該斜線當作分隔符使用,那麼可以將其編碼爲%2F(注3):

 

   http://www.calculator.com/compute?3%2f4

 

   在上面的示例中,該URL實際會引用www.calculator.com的服務器上名爲compute的資源,並將用問號(?)描述的字符串“3/4”傳遞給該資源。

 

   在這裏,估計該資源可能是一個能夠執行運算功能的服務器端程序,它可以接收傳遞來的值,並返回一個結果。

 

   不安全字符是指那些在URL中沒有特殊含義,但在URL所在的上下文中可能具有特殊意義的字符。

 

   例如雙引號("")在標籤中用於限定URL的屬性值。如果您想要在URL中直接包括雙引號,那麼可能會令瀏覽器感到困惑。

 

   因此,應該使用雙引號的編碼%22,以避免任何可能的衝突。

 

   其他保留字符和不安全字符也應該始終使用它們的編碼。這些字符如下所示。

 

   保留字符和不安全字符及其URL編碼


   字符:;、描述:分號、用法:保留、編碼:%3B

   字符:/ 、描述:斜線、用法:保留、編碼:%2F
   字符:? 、描述:問號、用法:保留、編碼:%3F
   字符:: 、描述:冒號、用法:保留、編碼:%3A
   字符:@ 、描述:"at"符號、用法:保留、編碼:%40
   字符:= 、描述:等號、用法:保留、編碼:%3D
   字符:& 、描述:“和”符號、用法:保留、編碼:%26
   字符:< 、描述:小於號、用法:不安全、編碼:%3C
   字符:> 、描述:大於號、用法:不安全、編碼:%3E
   字符:" 、描述:雙引號、用法:不安全、編碼:%22
   字符:% 、描述:百分號、用法:不安全、編碼:%25
   字符:{ 、描述:左大括號、用法:不安全、編碼:%7B
   字符:} 、描述:右大括號、用法:不安全、編碼:%7D
   字符:| 、描述:豎線、用法:不安全、編碼:%7C   
   字符:\ 、描述:反斜線、用法:不安全、編碼:%5C
   字符:^ 、描述:加子號、用法:不安全、編碼:%5E
   字符:~ 、描述:波浪號、用法:不安全、編碼:%7E
   字符:[ 、描述:左中括號、用法:不安全、編碼:%5B
   字符:] 、描述:右中括號、用法:不安全、編碼:%5D
   字符:` 、描述:反單引號、用法:不安全、編碼:%60


   通常情況下,如果對某個字符能否在URL中使用有疑問,那麼您應該始終使用該字符的編碼。

 

   除字母、數字和字符\$-_.+!*'()外的其他所有字符都應該使用編碼。這是一條很重要的經驗。

 

   使用字符編碼絕不會出錯,除非該字符在URL中有特定的意義。

 

   例如,在http URL中的斜線編碼會使斜線成爲一個普通的字符,而不是一個分隔URL的路徑名分隔符。

 

   注3:十六進制編號是基於16個字符的:從0到9和從A到F,它們的值相當於十進制的O~15。

 

   同樣,用於這些擴展值的字母並不區分大小寫,例如,“a”(等於十進制的10) 和“A”是一樣時。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章