URL中只能使用US-ASCII字符集可以顯示的字符,如果需要在URL中使用不屬於此字符集的字符,就要使用特殊的符號對該字符進行編碼,如最常使用的空格用%20來表示。
除了那些無法顯示的字符外,還需要在URL中對那些保留(reserved)字符和不安全(unsafe)字符進行編碼。
保留字符是指那些在URL中具有特定意義的字符,不安全字符是指那些在URL中沒有特殊含義,但在URL所在的上下文中可能具有特殊意義的字符。
| 字符 | 描述 | 用法 | 編碼 |
|---|---|---|---|
| ; | 分號 | 保留 | %3B |
| / | 斜線 | 保留 | %2F |
| ? | 問號 | 保留 | %3F |
| : | 冒號 | 保留 | %3A |
| @ | “at”符號 | 保留 | %4O |
| = | 等號 | 保留 | %3D |
| & | “和”符號 | 保留 | %26 |
| < | 小於號 | 不安全 | %3C |
| > | 大於號 | 不安全 | %3E |
| “ | 雙引號 | 不安全 | %22 |
| # | 井號 | 不安全 | %23 |
| % | 百分號 | 不安全 | %25 |
| { | 左大括號 | 不安全 | %7B |
| } | 右大括號 | 不安全 | %7D |
| | | 豎線 | 不安全 | %7C |
| \ | 反斜線 | 不安全 | %5C |
| ^ | 加字號 | 不安全 | %5E |
| ~ | 波浪 | 不安全 | %7E |
| [ | 左中括號 | 不安全 | %5B |
| ] | 右中括號 | 不安全 | %5D |
| ` | 反單引號 | 不安全 | %60 |
| 空格 | 不安全 | %20 |
