url为什么要编码

作者: 壮了个壮 | 来源:发表于2016-05-25 15:15 被阅读1180次

以iOS编程为例,每当我们从服务器获得到一个链接需要分析链接的组成,或者在捕捉本地网路请求作出响应判断的时候,我们经常需要对URL进行解码和编码。那么为什么要进行解码和编码呢。

比如有一个需求,你需要截取webveiw请求来实现一些操作。那么此时我们就需要从请求到的url中获取一些参数。

url:www.baidu.com?canshu1=zhi1&canshu2=zhi2

我们从url中获取参数值的方法是从=后获取值,针对这个链接,我们从链接中获取参数。有两种情况

1.参数有两个canshi1 canshu2,值分别是zhi1和zhi2

2.参数只有一个canshu1 值为zhi1&canshu2=zhi2

显然造成了歧义

为了避免歧义,我们需要就必须要讲值中的“=”或者“&”等特殊符号用其他符号代替,防止对=后面取值的方式造成影响,这个代替过程就是编码。

以情况2为例子,此处有一个参数canshu1,其值是“zhi1&canshu2=zhi2”,进行URL的utf8编码后得到zhi1%26canshu2%3Dzhi2,将编码后的值放入链接

www.baidu.com?canshu1=zhi1%26canshu2%3Dzhi2

于是拿到编码后链接的人解析,就直接取=后面的值作为canshu1的值,得到值为zhi1%26canshu2%3Dzhi2,然后对“zhi1%26canshu2%3Dzhi2”进行解码(需要用和编码同样的方式,一般有UTF8和gb2312)得到值“zhi1&canshu2=zhi2”,完全正确。

注意:如果值中有%26则也会被转化成%2626也不会造成歧义。

相关文章

  • URL 如何编码解码?为什么要编码

    title: URL 如何编码解码?为什么要编码tags: URLnotebook: 零散知识 URL 如何编码解...

  • url编码

    为什么要进行URL编码 编码是对url中的中文和特殊符号进行编码。对url编码其实就是对一些特殊字符进行使用utf...

  • window对象

    题目6: 如何获取元素的真实宽高? 题目7: URL 如何编码解码?为什么要编码? 编码: encodeURI()...

  • URL 如何编码解码?为什么要编码?

    为什么 URL 要进行编码?为什么要解码?? 原因很简单,因为 URL 只能使用 ASCII 字符集来通过因特网进...

  • URL为什么要编码

    编码/解码方法 1.decodeURI()2.decodeURIComponent()3.encodeURI()4...

  • url为什么要编码

    以iOS编程为例,每当我们从服务器获得到一个链接需要分析链接的组成,或者在捕捉本地网路请求作出响应判断的时候,我们...

  • URL 为什么要编码

    《HTTP 权威指南》阅读随笔 使用 URL 在整个因特网中定位资源,就需要满足在不同协议间都相互兼容的能力。因此...

  • SQL注入防御绕过——二次编码

    01 背景知识 一、为什么要进行URL编码 通常如果一样东西需要编码,说明这样东西并不适合传输。对于URL来说,编...

  • iOS URL安全的Base64编码、解码

    参考iOS开发探索-Base64编码iOS URL编码&base64编码URL安全的Base64编码,解码 为什么...

  • URL编码浅谈

    本文是对在正常网络请求的URL中哪些字符需要编码,为什么需要编码进行了说明 URI介绍 为什么需要URL编码 通常...

网友评论

    本文标题:url为什么要编码

    本文链接:https://www.haomeiwen.com/subject/vcjtdttx.html