深入了解Web中的URL编码

Web开发离不开URL,URL就是网址,网络标准规定:只有字母和数字[0-9a-zA-Z]、一些特殊符号“$ - _ . + ! * ‘ ( ) , ”[不包括双括号]、以及某些保留字,才可以不经过编码直接用于URL。

因此,为了让我们的网址能够正常访问,我们经常需要对URL——也就是网络地址,进行编码之后再进行访问,常见的情形有两种:

① 通过Get或Post方法发送HTTP请求时;

② 通过ajax发送请求时;

通过Get或Post方法发送HTTP请求时,网页的编码主要有两种决定方式:

一是在页面的头部设置编码:

<meta http-equiv="Content-Type" content="text/html;charset=xxxx">

二是在表单中设置编码:

<form action="form_action.asp" accept-charset="xxxx">

通过ajax发送请求时,编码通常由浏览器进行处理,例如不管你的网页采用什么字符集,IE总是采用“GB2312”来进行编码,Firefox、Chrome总是采用“UTF-8”进行编码。

既然请求方式不同、浏览器不同,都会导致编码方式发生变化,那么我们应该采用什么方式来避免编码不同给我们带来的巨大麻烦呢?其实还是有办法的:

完整阅读>> Click me;

时间: 2024-08-06 12:02:31

深入了解Web中的URL编码的相关文章

关于Cookie中的URL编码

今天对登录访问的安全以及web客户端存储做了一些大致的理解,在学习cookie的使用时发现其名称以及存储的字符串值是必须经过URL编码的. 然而网上的一些示例都没有做这一个动作,所以将参考阮一峰老师的关于URL编码博文做些解决分享: 一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址"http://www.abc.com",但是没有希腊字母的网址"http:

Web开发:URL编码与解码(转)

原文:http://www.cnblogs.com/greatverve/archive/2011/12/12/URL-Encoding-Decoding.html 通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义. 例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了

详解JavaScript中的Url编码/解码,表单提交中网址编码

本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数escape / unescape,encodeURI / decodeURI和 encodeURIComponent / decodeURIComponent. 预备知识 foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/ \_______

Web开发:URL编码与解码

通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义. 例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码. 又如,Url的编码格式采用的是ASC

解决java中对URL编码的问题

首先查看javascript中的encodeURI和encodeURLComponent方法的区别. encodeURI:不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( )    也不会对以下在 URI 中具有特殊含义的 ASCII 标点符                 号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,# encodeURLComponent:不会对 ASCII 字母和数字进行编码,也不

kettle中的URL编码问题

如给www.baidu.com/id=生活进行编码为 增加JavaScript控件,增加如下代码即可: var url='www.baidu.com/id=生活'var url2=encodeURI(url) 参考网址:https://stackoverflow.com/questions/332872/encode-url-in-javascript 原文地址:https://www.cnblogs.com/wind-man/p/9279573.html

web中的安全编码

个人记录 一.Web安全验证 输入验证 防范跨站脚本XSS攻击 防止SQL注入 图片验证码 二.输入验证 经典的安全法则:永远不要相信用户提交的数据 验证内容: 用户名,密码等格式 验证长度防止数据库溢出错误 邮件,手机,邮编等格式 客户端:主要通过JavaScript来验证,过滤用户输入 服务器端:检测用户输入的合法性,强制转换用户值输入,数据库约束验证 三.防范跨站脚本XSS攻击 实行严格的输入验证 实现Session标记等 进行HTML的格式化 四.防止SQL注入 客户端: 过滤或者转义危

Python中的url编码问题

>>> import urllib >>> a = "PythonTab中文网" >>> a 'PythonTab\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91' >>> urllib.quote(a) 'PythonTab%E4%B8%AD%E6%96%87%E7%BD%91' >>>

Web开发者应知的URL编码知识(转)

原文出处: lunatech   译文出处:oschina - 桔子, lwei, 史涛, Khiyuan, super0555, LinuxQueen, 抛出异常的爱 本文首先阐述了人们关于统一资源定位符(URL)编码的普遍的误读,其后通过阐明HTTP场景下的URL encoding 来引出我们经常遇到的问题及其解决方案.本文并不特定于某类编程语言,我们在Java环境下阐释问题,最后从Web应用的多个层次描述如何解决URL编码的问题来结尾. 简介 当我们每天上网冲浪时,有一些技术我们无时无刻不