HTTP URL只能使用ASCII字符集(通常包含ASCII集合外的字符)通过Internet发送。所以这些不安全的字符必须被替换为%, 后跟两个十六进制数字。
下表显示了在将URL传递到服务器之前可以在URL中使用的字符及其替换的ASCII符号:
| ASCII | 符号 | 替代 |
|---|---|---|
| <32 | 用%xx编码,其中xx是字符的十六进制表示形式。 | |
| 32 | 空间 | +或%20 |
| 33 | ! | %21 |
| 34 | “ | %22 |
| 35 | # | %23 |
| 36 | $ | %24 |
| 37 | % | %25 |
| 38 | & | %26 |
| 39 | “ | %27 |
| 40 | ( | %28 |
| 41 | ) | %29 |
| 42 | * | * |
| 43 | + | %2B |
| 44 | , | %2C |
| 45 | - | - |
| 46 | 。 | 。 |
| 47 | / | %2F |
| 48 | 0 | 0 |
| 49 | 1 | 1 |
| 50 | 2 | 2 |
| 51 | 3 | 3 |
| 52 | 4 | 4 |
| 53 | 5 | 5 |
| 54 | 6 | 6 |
| 55 | 7 | 7 |
| 56 | 8 | 8 |
| 57 | 9 | 9 |
| 58 | : | %3A |
| 59 | ; | %3B |
| 60 | < | %3C |
| 61 | = | %3D |
| 62 | > | %3E |
| 63 | ? | %3F |
| 64 | @ | %40 |
| 65 | 一个 | 一个 |
| 66 | B | B |
| 67 | C | C |
| 68 | D | D |
| 69 | E | E |
| 70 | F | F |
| 71 | G | G |
| 72 | H | H |
| 73 | 一世 | 一世 |
| 74 | J | J |
| 75 | K | K |
| 76 | L | L |
| 77 | M | M |
| 78 | N | N |
| 79 | O | O |
| 80 | P | P |
| 81 | 问 | 问 |
| 82 | R | R |
| 83 | S | S |
| 84 | T | T |
| 85 | uint16 | uint16 |
| 86 | V | V |
| 87 | W | W |
| 88 | X | X |
| 89 | Y | Y |
| 90 | Z | Z |
| 91 | [ | %5B |
| 92 | %5C | |
| 93 | ] | %5D |
| 94 | ^ | %5E |
| 95 | _ | _ |
| 96 | ` | %60 |
| 97 | 一个 | 一个 |
| 98 | b | b |
| 99 | C | C |
| 100 | d | d |
| 101 | e | e |
| 102 | F | F |
| 103 | G | G |
| 104 | H | H |
| 105 | 一世 | 一世 |
| 106 | j | j |
| 107 | k | k |
| 108 | l | l |
| 109 | m | m |
| 110 | n | n |
| 111 | o | o |
| 112 | p | p |
| 113 | q | q |
| 114 | r | r |
| 115 | s | s |
| 116 | t | t |
| 117 | 你 | 你 |
| 118 | v | v |
| 119 | w | w |
| 120 | X | X |
| 121 | y | y |
| 122 | z | z |
| 123 | { | %7B |
| 124 | | | %7C |
| 125 | } | %7D |
| 126 | 〜 | %7E |
| 127 | %7F | |
| > 127 | 用%xx编码,其中xx是字符的十六进制表示形式。 |