浏览器URL编码
来源:互联网 发布:周杰伦北大演讲知乎 编辑:程序博客网 时间:2024/05/12 18:46
尽管有很多规范URL的标准,例如RFC 3987,但实际应用中却非常混乱。本文主要介绍浏览器发送URL到服务器的一些特性,作为开发和应用的参考。
通常浏览器会用两种编码方式发送URL到服务器,分别是UTF-8和ANSI(当前系统语言设置,在Windows系统中可以理解为当前代码页)。接下来分别介绍几种常用浏览器发送URL的编码特性。
一、直接在地址栏输入URL的情况
中文Windows环境下,假如直接在浏览器的地址栏输入URL:
http://www.charset.cn/中国.html?kw=中国
- IE浏览器特性
PATH部分 参数部分 UTF-8模式(默认) %E4%B8%AD%E5%9B%BD.htmlkw=中国 UTF-8编码、urlencodeGBK编码、无urlencodeANSI模式 中国.htmlkw=中国 GBK编码、无urlencodeGBK编码、无urlencode中文Windows环境下,IE中默认发送的URL的PATH部分是UTF-8编码,参数部分是GBK编码。IE的设置选项中有一项是“总是以 UTF-8 发送URL”可以改变发送URL的编码为ANSI。
- FireFox浏览器特性
PATH部分 参数部分 UTF-8模式 %E4%B8%AD%E5%9B%BD.htmlkw=%E4%B8%AD%E5%9B%BD UTF-8编码、urlencodeUTF-8编码、urlencodeANSI模式(默认) %D6%D0%B9%FA.htmlkw=%D6%D0%B9%FA GBK编码、urlencodeGBK编码、urlencode中文Windows环境下FireFox中默认发送的URL的PATH和参数都是GBK编码,在FireFox地址栏输入“about:config”,找到选项“network.standard-url.encode-utf8”,即可改变发送URL的编码方式。
- Opera浏览器特性
PATH部分 参数部分 UTF-8模式(默认) %E4%B8%AD%E5%9B%BD.htmlkw=%E4%B8%AD%E5%9B%BD UTF-8编码、urlencodeUTF-8编码、urlencode
二、来自网页中的链接
在不同的浏览器中打开不同编码的网页中的链接,特性也不相同。在不改变浏览器默认选项情况下访问不同编码的网页中以下链接:
http://www.charset.cn/中国.html?kw=中国
- IE浏览器特性
PATH部分 参数部分 UTF-8网页 %E4%B8%AD%E5%9B%BD.htmlkw=中国 UTF-8编码、urlencodeUTF-8编码、无urlencodeGBK网页 %E4%B8%AD%E5%9B%BD.htmlkw=中国 UTF-8编码、urlencodeGBK编码、无urlencode - FireFox浏览器特性
PATH部分 参数部分 UTF-8网页 %E4%B8%AD%E5%9B%BD.htmlkw=%E4%B8%AD%E5%9B%BD UTF-8编码、urlencodeUTF-8编码、urlencodeGBK网页 %D6%D0%B9%FA.htmlkw=%D6%D0%B9%FA GBK编码、urlencodeGBK编码、urlencode
如果改变IE默认选项为ANSI模式或者将FireFox改为UTF-8模式的访问结果可以自己测试。
几点说明:
- 对于开发人员而言,一定要考虑到不同环境下URL编码的不同,才能实现系统更好的兼容性。兼容性好的系统必须要能够识别来自客户端URL的编码,才能正确处理。
例如在Opera浏览器地址栏直接输入“http://www.baidu.com/s?wd=我们”,就会发现不能正确访问。 - 不同的WEB服务器对各种编码的URL处理也不相同,尽量不要使用中文字符作文件名。
- 如果写入网页中的链接包括中文字符,最好使用urlencode处理,才能和当前网页编码无关。否则有可能不能正确访问。
- 很多情况下浏览器的地址栏看到URL并不等同于发送到服务器的URL。要正确查看浏览器发送的到服务器URL,最好借助一些工具分析HTTP的请求头
0 0
- 浏览器URL编码
- 浏览器url编码
- 浏览器url编码
- 浏览器URL编码
- 浏览器URL编码
- 浏览器url编码
- 浏览器URL编码
- 浏览器URL编码
- 不同浏览器URL编码方式
- python处理浏览器URL编码
- 浏览器发送URL的编码特性
- 关于浏览器的url的编码
- 浏览器发送URL的编码特性
- 浏览器发送URL的编码特性
- 浏览器发送URL的编码特性
- 不同浏览器中URL的编码方式
- 【转】关于不同浏览器对URL编码的分析
- 【转】关于不同浏览器对URL编码的分析
- android studio *.css *.js file type settings
- Java实现统计一篇文章中每个单词出现的次数
- EPUB CFI 规范
- 关于UIStoreBoard的Top space to:Top Layout Guide
- 一些关于XE8无法连接安卓手机的解决方法
- 浏览器URL编码
- eclipse部署 tomcat问题
- 14-EMM Procedure 4. Service Request
- HDU 5438 Ponds (拓扑排序+DFS)2015 ACM/ICPC Asia Regional Changchun Online
- grant授权
- 15-EMM Procedure 5. Periodic TAU
- HTTP请求返回状态码中301与302的状态码区别
- Android内存分析工具
- OpenStack云计算快速入门教程