URL 编码
定义
URI所允许的字符分作保留与未保留
- 保留字符是那些具有特殊含义的字符;例如:斜线字符用于URL(或URI)不同部分的分界符
- 未保留字符没有这些特殊含义
百分号编码把保留字符表示为特殊字符序列,使其能在失去特殊含义的条件下表示出保留字符
RFC 3986 规定的保留字符和未保留字符

对保留字符的百分号编码

对未保留字符的百分号编码
- 未保留字符不需要百分号编码。如果仍然需要编码,根据其ASCII码的hex值来进行百分号编码
对百分号字符的百分号编码
- 由于百分号字符(“%”)表示百分号编码字节流的存在,因此百分号字符应该被编码为3个字节的序列:”%25″,用于URI内部。
- 可见有不少ASCII字符既不是保留字也不是未保留字符,但某些情况下他们仍然可以被表示,见字符数据编码
字符数据编码

补充
- 由于 ‘+’ 的特殊意义就是空格,因此在URL中 %20 和 + 是等价的