url编码 (百分号编码)

本文详细解释了URL编码的重要性及其实现原理。由于URL中某些字符可能会导致解析错误,如等号(=)和与号(&),为了确保服务器正确解析,这些字符需要进行转义处理。文章还介绍了URL编码的具体实现方法,即用百分号和对应的ASCII码值来替代这些特殊字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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




转载于:https://my.oschina.net/bosscheng/blog/174440

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值