说明
URL 只支持 ASCII 码传输;
URL encoding 编码字符到能传输的格式;
URL encoding 使用 % 加上两个十六进制数编码不支持的字符;
URL 不能含有空格,URL encoding 替换空格成 %20;
保留字符
保留字符意味着这些字符在某些情况下有特殊的用途,比如反斜杠 / ,可以分割目录。
| 保留字符 |
percent-encoding |
| newline |
%0A or %0D or %0D%0A |
| space |
%20 |
| ! |
%21 |
| # |
%23 |
| $ |
%24 |
| % |
%25 |
| & |
%26 |
| ' |
%27 |
| ( |
%28 |
| ) |
%29 |
| * |
%2A |
| + |
%2B |
| , |
%2C |
| / |
%2F |
| : |
%3A |
| ; |
%3B |
| = |
%3D |
| ? |
%3F |
| @ |
%40 |
| [ |
%5B |
| ] |
%5D |
非保留字符
非保留字符意味着这些字符可以直接传输,非保留字符外的字符,如果要传输,就要进行百分号编码。
| RFC 3986 section 2.3 Unreserved Characters (January 2005) |
| A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
| a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
p |
q |
r |
s |
t |
u |
v |
w |
x |
y |
z |
| 0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
- |
_ |
. |
~ |
|