命令值必須使用%xx逸出序列進行http編碼,因此值字串不包含保留字元'='、'&'和'%'。
否則,會套用標準HTTP編碼規則。 HTTP規範要求對不安全字元以及任何控制字元(如<return>
和<tab>
)進行編碼。 字元的URL編碼由"%"符號組成,後面接著該字元的ISO-Latin代碼點的兩位十六進位表示法(不區分大小寫)。 不安全的字元和代碼點為:
不安全字元 | 代碼點(十六進位) | 代碼點(12) |
---|---|---|
空間 |
20 |
32 |
<> |
3C |
60 |
> |
3E |
62 |
" |
22 |
34 |
# |
23 |
35 |
% |
25 |
37 |
&lbraces; |
7B |
123 |
&rbraces; |
7D |
125 |
| |
7C |
124 |
\ |
5C |
92 |
^ |
5E |
94 |
~ |
7E |
126 |
[ |
5B |
91 |
] |
5D |
93 |
「 |
60 |
96 |
保留字元也必須進行編碼。
保留字元 | 代碼點(十六進位) | 代碼點(12月) |
---|---|---|
$ |
24 |
36 |
& |
26 |
38 |
+ |
2B |
43 |
的 |
2C |
44 |
/ |
2F |
47 |
: |
3A |
58 |
; |
3B |
59 |
= |
3D |
61 |
? |
3F |
63 |
@ |
40 |
64 |
…&$text=rate&weight=85% 27#&…
如果未套用模糊化,上述請求片段必須編碼如下:
…&$text=rate%26weight%3D85%25%2027%23&…
如果套用模糊化,編碼可限制為移除'='、'&'和'%'字元:
…&$text=rate%26weight%3D85%25 27#&…