网站大量收购闲置独家精品文档,联系QQ:2885784924

URL编码与解码实用.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
URL 编码与解码 文章来源 : 通常如果一样东西需要编码,说明这样东西并不适合传输。原因多种多样,如 Size 过 大,包含隐私数据, 对于 Url 来说, 之所以要进行编码, 是因为 Url 中有些字符会引起歧义。 例如, Url 参数字符串中使用 key=value 键值对这样的形式来传参,键值对之间以 符号分隔,如 /s?q=abcie=utf-8 。如果你的 value 字符串中包含了 = 或者 ,那么势必 会造成接收 Url 的服务器解析错误,因此必须将引起歧义的 和 = 符号进行转义,也就是对 其进行编码。 又如, Url 的编码格式采用的是 ASCII 码,而不是 Unicode ,这也就是说你不能在 Url 中包含任何非 ASCII 字符,例如中文。否则如果客户端浏览器和服务端浏览器支持的字符 集不同的情况下,中文可能会造成问题。 Url 编码的原则就是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那 些不安全的字符。 预备知识: URI 是统一资源标识的意思, 通常我们所说的 URL 只是 URI 的一种。 典型 URL 的格式如下所示。下面提到的 URL 编码,实际上应该指的是 URI 编码。 foo://:8042/over/there?name=ferret#nose \_/ \______________/ \________/\_________/ \__/ | | | | | scheme authority path query fragment 哪些字符需要编码 RFC3986 文档规定, Url 中只允许包含英文字母( a-zA-Z )、数字( 0-9 )、 -_.~4 个特殊字符以及所有保留字符。 RFC3986 文档对 Url 的编解码问题做出了详细的建议,指 出了哪些字符需要被编码才不会引起 Url 语义的转变, 以及对为什么这些字符需要编码做出 了相应的解释。 US-ASCII 字符集中没有对应的可打印字符: Url 中只允许使用可打印字符。 US-ASCII 码中的 10-7F 字节全都表示控制字符, 这些字符都不能直接出现在 Url 中。同时,对于 80-FF 字节( ISO-8859-1 ),由于已经超出了 US-ACII 定义的字节范围,因此也不可以放在 Url 中。 保留字符: Url 可以划分成若干个组件, 协议、 主机、 路径等。 有一些字符 (:/?#[]@ ) 是用作分隔不同组件的。 例如: 冒号用于分隔协议和主机, / 用于分隔主机和路径, ?用于分 隔路径和查询参数, 等等。 还有一些字符 (!$()*+,;= )用于在每个组件中起到分隔作用 的,如 = 用于表示查询参数中的键值对, 符号用于分隔查询多个键值对。当组件中的普通 数据包含这些特殊字符时,需要对其进行编码。 RFC3986 中指定了以下字符为保留字符: ! * ( ) ; : @ = + $ , / ? # [ ] 不安全字符: 还有一些字符, 当他们直接放在 Url 中的时候, 可能会引起解析程序的歧 义。这些字符被视为不安全字符,原因有很多。 空格: Url 在传输的过程,或者用户在排版的过程,或者文本处理程序在处理 Url 的过程,都有可能引入无关紧要的空格,或者将那些有意义的空格给去掉。

文档评论(0)

hwx37729388 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档