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




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!