说明
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 |
- |
_ |
. |
~ |
|