首页 > 其他 > 详细

为何url不直接发送而是被编码后再发送

时间:2014-09-27 17:22:11      阅读:241      评论:0      收藏:0      [点我收藏+]

首先:协议规范,RFC 1738,定义url地址中不能包含除:0-9,a-zA-Z,- 之外的字符,即,如URL中包含特殊字符,如$-_.+!*’(), 都要编码。 
关于为什么如此定义,有如下几个原因: 
1、本身html代码中,很多特殊字符,其本身的特殊含义,比如’#‘,就适用于定位html( anchor),所以这类本身有特殊含义的字符,不能直接用于发送,需要编码。 
2、如果其中本身就包含一些,非打印的控制字符,那么无法正常打印显示,所以必须被编码才能传输。ASCII字符集中的功能/控制字符。
3、还有些保留字符(&,=,:),不安全字符(<,>,#),所以需要对url地址编码。 
4、还有一些容易想到的,比如空格,如果出现在url地址中,就很难判断空格前后的内容是否是属于url的,所以对于空格这样的特殊字符,肯定是需要编码的。

为何url不直接发送而是被编码后再发送

原文:http://www.cnblogs.com/brookin/p/3996584.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!