url 非法字符有哪些

小编 5054

url非法字符有:空格、汉字等双字节字符。非法字符会破坏URL中参数含义的准确性,使其成为非法的URL。RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)以及“-_.~”4个特殊字符,这些字符被称为未保留字符以及所有保留字符。

1.url非法字符

在URL中的参数中不能有空格、双字节字符(如汉字),否则会破坏URL中参数含义的准确性,成为非法的URL,访问该URL后会报:Server returned HTTP response code: 505 for URL错误。解决方法(以参数中含有空格为例):空格的unicode为%20,将参数中的所有空格都替换为%20即可。

2.url字符规则

RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符,这些字符被称为未保留字符以及所有保留字符。RFC3986中指定了以下字符为保留字符:! * ‘ ( ) ; : @ & = + $ , / ? # [ ]。

Url中只允许使用可打印字符。US-ASCII码中的10-7F字节全都表示控制字符,这些字符都不能直接出现在Url中。同时,对于80-FF字节(ISO-8859-1),由于已经超出了US-ACII定义的字节范围,因此也不可以放在Url中。

3.url不安全字符

还有一些字符,当他们直接放在Url中的时候,可能会引起解析程序的歧义。这些字符被视为不安全字符,原因有很多。

  • 引号以及<>:引号和尖括号通常用于在普通文本中起到分隔Url的作用。
  • #:通常用于表示书签或者锚点。
  • %:百分号本身用作对不安全字符进行编码时使用的特殊字符,因此本身需要编码。
  • {}|\^[]`~:某一些网关或者传输代理会篡改这些字符。
  • Url在传输的过程,或者用户在排版的过程,或者文本处理程序在处理Url的过程,都有可能引入无关紧要的空格,或者将那些有意义的空格给去掉。

延伸阅读

url是什么

url是对互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址。URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。URL的一般语法格式为:协议+IP地址(域名)+端口号+路径+参数+查询+信息片段,例如:http://www.*****.com/***,其中http为传输协议,www.*****.com为域名,/***为路径。

通常,绝对URL(absolute URL)显示文件的完整路径,这意味着绝对URL本身所在的位置与被引用的实际文件的位置无关。而相对URL(relative URL)以包含URL本身的文件夹的位置为参考点,描述目标文件夹的位置。如果目标文件与当前页面(也就是包含URL的页面)在同一个目录,那么这个文件的相对URL仅仅是文件名和扩展名,如果目标文件在当前目录的子目录中,那么它的相对URL是子目录名,后面是斜杠,然后是目标文件的文件名和扩展名。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部