码迷,mamicode.com
首页 > Web开发 > 详细

url编码

时间:2016-06-10 16:16:07      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

为什么要经过url编码,首先先要知道url编码是怎样的

url编码是一种浏览器用get的方法打包表单输入的格式,也就是说:

他们会获取<form>里面的<input>的name和value,然后把他们编码,作为url的一部分,发送给服务器

name和value用=分开,每对name用&隔开,所以服务端的表单输入格式的url是这样的:http://127.0.0.1/1.php?name=123&age=20,但是在传输的时候,并不是完完整整的这样传英文,是把整个url用ASCII的十六进制编码,再发送到服务端,遇到ASCII以外的怎么办?URL 编码使用 "%" 其后跟随两位的十六进制数来替换非 ASCII 字符。举例来说,如果是胡字,那就把它用gb2312编码过后,取它的十六进制,前面再加上%,这就是它的url编码结果技术分享

同样,遇到特殊字符也是如此,什么才属于特殊字符,这就是为什么要url编码了,由上面知道,url的格式是这样的name1=value1&name2=value2,用“&”分割出每一个参数,然后再用“=”来分割出参数值,这一串字符是经过ascii编码的,编码后是这样的:

  6E616D6531 3D 76616C756531 26 6E616D6532 3D 76616C756532。
   6E616D6531:name1
   3D:=
   76616C756531:value1
   26:&
   6E616D6532:name2
   3D:=
   76616C756532:value2

服务端那边,是一个一个字节遍历该字节流的,遇到26,也就是&,它就会结合前面的3D,就知道是一对参数了,但是如果value里面的值含有&怎么办,那就变成了name=va&lue,那么name的值就是va了,所以为了区分这种,也通常会在特殊字符的每个字节前加上%,和中文一样

url编码

标签:

原文地址:http://www.cnblogs.com/thouger/p/5573736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!