资讯专栏INFORMATION COLUMN

web开发中URL编码简介

forsigner / 417人阅读

摘要:大部分需要编码的原因是由于有特殊字符如等或者参数是中文形式。不会被此方法编码的字符重点因此,对于中文字符串来说,如果不希望把字符串编码格式转化成格式的比如原页面和目标页面的是一致的时候,只需要使用。

一、为什么要 urlencode()?

因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的。

也就是说,url的参数传递的时候,需要遵循一定的url规范才能正确的传送。

通常如果一样东西需要编码,说明这样东西并不适合传输。原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。

大部分需要编码的原因是由于有特殊字符(如@、#、&等)或者参数是中文形式。

Url编码的原则就是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符。

二、javascript中编码的函数

escape() 方法:

(1)采用ISO Latin字符集对指定的字符串进行编码。
(2)所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。
(3)比如,空格符对应的编码是%20。
(4)不会被此方法编码的字符: @ * / +

encodeURI() 方法:

(1)把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
(2)不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + "

encodeURIComponent() 方法:

(1)把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
(2)与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。
(3)所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。
(4)不会被此方法编码的字符:! * ( ) "

重点:

(1)因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。
(2)如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。
(3)另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。

三、php中关于编码的函数

主要是urlencode和urldecode

其他的参考:https://www.cnblogs.com/xuey/...

四、划重点

url的编码是为了让一些特殊字符以及中文能够通过编码转换成安全的字符传递,使之符合url标准。

大部分的js中编码函数多使用encodeURIComponent,因为该函数是编码范围最大的函数。但是还需要根据业务需求选择不同的编码函数。

五、参考链接

https://www.cnblogs.com/liuho...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/103125.html

相关文章

  • web开发URL编码简介

    摘要:大部分需要编码的原因是由于有特殊字符如等或者参数是中文形式。不会被此方法编码的字符重点因此,对于中文字符串来说,如果不希望把字符串编码格式转化成格式的比如原页面和目标页面的是一致的时候,只需要使用。 一、为什么要 urlencode()? 因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的。 也就是说,url的参数传递的时候,需要遵循一定的url...

    xiao7cn 评论0 收藏0
  • JSON Web Token 简介

    摘要:在驱动开发的今天,针对的验证授权越来越重要,这是保证数据安全第一步。部分要创建签名部分,必须采用已编码的已编码的密匙签名算法。 在API驱动开发的今天,针对API的验证授权越来越重要,这是保证数据安全第一步。基于token授权的机制随着实践的不断进步也推陈出新,其中较为人知的有: HTTP Basic API Key OAuth2 JSON Web Token(JWT) 他们都有各...

    fevin 评论0 收藏0
  • JSP 学习记录

    摘要:对象具有请求域,即完成客户端的请求之前,该对象一直有效。提交的数据量最多不超过。安全性较低但效率比方式高。适合提交数据量大,安全性高的用户信息。除非本次会话的所有页面都关闭后再重新访问某个或者,将会创建新的会话。 JSP 简介 全名为Java Server Pages,其根本是一个简化的Servlet设计,实现了在Java当中使用HTML标签。JSP是一种动态网页技术标准,也是Java...

    BearyChat 评论0 收藏0
  • http简介看这篇就够了

    摘要:分块传输编码使用字段的前提条件是,服务器发送回应之前,必须知道回应的数据长度。最后是一个大小为的块,就表示本次回应的数据发送完了。 文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。 什么是协议 协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才...

    binaryTree 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<