URL转码
对于URL转码问题的理解:
URL转码分为编码和解码两个过程。
URL编码的理解:
在线url网址编码解码⾸先:我们需要想想URL作为⼀个请求,需要描述那⼏个部分:
服务器的地址
资源地址
请求的参数
这个和到某地东西是⾮常类似的。
其次,我们看看URL中⽤于分割各个部分的分割符。
Scheme://host address:port/file;path parameters?queur paprameter
其中/后⾯是path
;后⾯是路径参数
? 后⾯是查询条件
有了上⾯的约定 ,在服务器端收到URL之后,根据相应的特殊字符进⾏分割就可以得到Path路径,Path参数, 和查询条件,正确解析之后就可以进⾏取数据返回⽤户了。
下⾯我们来考虑这样⼀个情况:假设⼀个图⽚的名字to_be_or_not_to_be?.jpg时,对其进⾏请求,会出现什么情况。
上⾯在路径部分出现了?所以服务器就会解析错误,因为前⾯我们说过服务器是按照“?”对URL划分出查询部分的。
第三:如何解决上⾯的问题呢?这就需要对在Path中(也就是to_be_or_not_to_be?.jpg)的?符号进⾏编码转化,将路径部分的?编码为其他的字符。
(编码)转化规则如下:(可以当做⼀个⿊盒⼦)
(注:⼀般使⽤utf-8编码⽅式)
将特殊字符利⽤某编码⽅式进⾏编码,之后在前⾯加上%。
转化之后如下:to_be_or_not_to_be%3F.jpg
这样当转码之后的URL发送到服务器段时,就不会出现解析上的歧义了。
URL解码
URL解码就是URL编码相反的过程,将编码后的URL解码显⽰在浏览器的地址栏内,给⽤户看。
上⾯是最简单的例⼦解释URL转码存在的理由,⾄于其他的更深⼀步的理解可以参考下⾯的参考⽂献。不过⼀般不做开发,可以忽略,。
参考⽂献:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论