码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-09-27 17:41:00      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:sp   c   代码   html   amp   r   htm   bs   as   

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

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

标签:sp   c   代码   html   amp   r   htm   bs   as   

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

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