首页 > 代码库 > 为何url不直接发送而是被编码后再发送
为何url不直接发送而是被编码后再发送
首先:协议规范,RFC 1738,定义url地址中不能包含除:0-9,a-zA-Z,- 之外的字符,即,如URL中包含特殊字符,如$-_.+!*’(), 都要编码。
关于为什么如此定义,有如下几个原因:
1、本身html代码中,很多特殊字符,其本身的特殊含义,比如’#‘,就适用于定位html( anchor),所以这类本身有特殊含义的字符,不能直接用于发送,需要编码。
2、如果其中本身就包含一些,非打印的控制字符,那么无法正常打印显示,所以必须被编码才能传输。ASCII字符集中的功能/控制字符。
3、还有些保留字符(&,=,:),不安全字符(<,>,#),所以需要对url地址编码。
4、还有一些容易想到的,比如空格,如果出现在url地址中,就很难判断空格前后的内容是否是属于url的,所以对于空格这样的特殊字符,肯定是需要编码的。
为何url不直接发送而是被编码后再发送
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。