Web前端之路让前端飞

关于URL编码

2017-08-09  本文已影响37人  baiying

URL:统一资源定位符
标准格式:
scheme://host[:port#]/path/.../[;url-params][?query-string][#anchor]

scheme //有我们很熟悉的http、https、ftp以及著名的ed2k,迅雷的thunder等。
host   //HTTP服务器的IP地址或者域名
port#  //HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如tomcat的默认端口是8080 http://localhost:8080/
path   //访问资源的路径
url-params  //所带参数
query-string    //发送给http服务器的数据
anchor //锚点定位

为什么要进行URL编码

一个东西如果需要编码,说明它自身是不适合传输的
具体看一下哪些情况要进行URL编码
1.会引起歧义:比如在URL中我们以键值对的格式携带参数,每对键值对之间用&分隔,加入我们的参数中本身含有&,那么在解析的时候显然会出错
2.非法字符:URL采用的是ASCII编码,所以非ASCII编码出现在URL中也会导致解析错误,例如中文

编码的几种方式

encodeURI("http://www.cnblogs.com/season-huang/some other thing");
//"http://www.cnblogs.com/season-huang/some%20other%20thing";

此处对空格进行了编码,而不会对其他ASCII码进行编码
对应解码函数:decodeURL()

上一篇 下一篇

猜你喜欢

热点阅读