在前几天的工作中,遇到这样一个问题,我在后台配置了一个超链接,链接如下所示(不是真实的链接)
https://m.baidu.com/?name=/bob&isNeedLogin=1&sexs=man femal
这个链接与常用的网站URL有什么区别吗,欸,你不仔细看还真的看不出来呢。在链接的尾部sexs参数中,他的value是man femal,中间有一个空格分开。那你想一下,常用的网站中,是否会经常遇到参数用空格分开。
问题抛出:配置好链接之后,我在客户端点开链接进行访问,发现链接中的参数值在前端展示成man%20femal。
首先你会有疑问,怎么配置的链接中的value在前端可以展示呢,这是因为开发处理的是将这个value获取并用来拼接字符串,然后展示在前端标题。
其次,即使开发用来拼接,咋的怎么变成man%20femal,而不是man femal呢?这是因为在后台配置链接的时候,保存按钮一点,URL将这个空格做了转码转义,将其转成%20。然后就出现了上面的一幕。
现在我们来说说,为什么会有这种情况呢?
URL:统一资源定位器,是在web上常用的给定唯一资源的位置。URL的格式我这里不做说明。
URL编码解码又叫做百分号编码,是属于URL的一种编码方式。在URL中我们规定,可以使用数字,字母。另外的一些特殊字符比如【/ , : @ &】等特殊字符。然后对于一些其他的字符,比如中文汉字,空格等都需要通过%xxx来进行编码处理。
那这种%xxx是什么