命令值必須使用%xx逸出序列進行http編碼,因此值字串不包含保留字元'='、'&'和'%'。
否則,會套用標準HTTP編碼規則。 HTTP規格要求對不安全字元以及任何控制字元進行編碼,例如 <return>
和 <tab>
. 字元的URL編碼由「%」符號組成,後面接著字元的ISO-Latin字碼點的兩位十六進位表示(不區分大小寫)。 不安全的字元和程式碼點包括:
不安全的字元 | 代碼點(十六進位) | 代碼點(解碼) |
---|---|---|
空間 |
20 |
32 |
< |
3C |
60 |
> |
3E |
62 |
" |
22 |
34 |
# |
23 |
35 |
% |
25 |
37 |
大括弧(&L); |
7B |
123 |
大括弧(&R); |
7D |
125 |
| |
7C |
124 |
\ |
5C |
92 |
^ |
5E |
94 |
~ |
7E |
126 |
分段(&L); |
5B |
91 |
brack;(&R) |
5D |
93 |
&grave; |
60 |
96 |
保留的字元也必須經過編碼。
保留字元 | 代碼點(十六進位) | 代碼點(十二月) |
---|---|---|
$ |
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#&…