URL篇之不安全字符处理
URL是可移植的。它要统一命名因特网上的所有资源,就需要通过各种不同的协议来传送这些资源。这些协议在传输数据时会使用不同的机制,所以,设计URL,使其可以通过任意因特网协议安全地传输是很重要的。
URL默认是以US-ASCII字符集编码,但这种编码不能很好的支持多语言的变体字符,而且,有些URL中还会包含任意的二进制数据,因此就在US-ASCII字符集中将转义序列集成进去。通过转义序列,就可以使用US-ASCII字符集的有限子集对任意字符值或数据进行编码。
转义序列的表示法:%(百分号)+ 两个表示字符ASCII码的十六进制数
编码示例:
字符 | ASCII码 | 示例URL |
~ | 126(0x7E) | http://www.joes-hardware.com/%7Ejoe |
空格 | 32(0x20) | http://www.joes-hardware.com/more%20tools.html |
% | 37(0x25) | http://www.joes-hardware.com/100%25satisfaction.html |