浏览器安全

url编码 (百分号编码)

末鹿安然 提交于 2020-12-25 14:00:12
url为什么要编码? 因为URL中有些字符会引起歧义! 例如在URl中,参数是使用key=value的形式进行传参的,键值之间使用&进行间隔,比如:name=boss&age=20 但是,对于在value中包含了= 或者&的时候,那么势必会造成接受url的服务器解析错误,因此必须将产生歧义的&和=进行转义,也就是对其进行编码。 PS:url是采用ASCII编码,而非Unicode URL编码的原则:使用安全的字符(没有特殊用途或者特殊意义的可打印的字符)去表达不安全的字符。 保留字符 ":","/","#","[","]","@" "!","$","&"," ' ","(",")","*","+"," , ",";","=" 百分号编码(URL编码) 以一个百分号(%)和该字符的ASCII编码所对应的2位十六进制数字去替换这些有问题的字符。 例如:"/"会被替换成%2F ,对于%本身就会被替换成 %25 PS:对于保留字节的URL编码 ! * " ' ( ) ; : @ & %21 %2A %22 %27 %28 %29 %3B %3A %40 %26 = + $ , / ? % # [ ] %3D %2B %24 %2C %2F %3F %25 %23 %5B %5D 来源: oschina 链接: https://my.oschina.net/u/1037170/blog