zoukankan      html  css  js  c++  java
  • http解码-3

    http://blog.sina.com.cn/s/blog_6590118a01013a1i.html

    如果想准确获取访问一个站点的编码方式,只能从页面meta信息中的charset获取。而这需要解析服务器返回的页面信息,对我们是不可接受的。

    侥幸的是,目前国内的大多数站点的编码方式为GB2312GB18030GBK(网易采用GBK编码),新增站点多为UTF-8

    http://wade6.iteye.com/blog/1744463

    下面讨论的编码对象是ASCII码范围以外的字符。ASCII码范围的字符不需要编码。

    1、地址栏中的Get请求的url

    • 在中文环境中,IE默认对URL的Path部分会采用UTF-8来进行编码,参数部分采用GBK来编码;
    • FireFox对URL的Path和参数都采用GBK进行编码。

    2、页面中链接的Get请求url

    • 在中文环境中,IE对URL的Path部分都会采用UTF-8来进行编码,而参数部分会根据当前页面的编码确定;
    • FireFox对URL的Path和参数都会采用当前页面的字符集来进行编码。

    3、浏览器做普通Post提交url

    • 采用当前页面的字符集进行编码(浏览器大多数时候会根据Http返回头中的Content-Type来确定当前页面的字符集,如果我们想要设定表单提交时所用的字符集编码方式,可以用设定Http返回头中Content-Type的值来实现)。

    4、浏览器做Ajax Get提交url

    • 根据浏览器的不同,编码时采用的字符集也是不同的;
    • FireFox始终采用UTF-8;
    • IE会根据本地浏览器的字符集配置来确定采用的字符集。

    5、浏览器做Ajax Post提交url

    • 始终会采用UTF-8进行字符集编码(它决定于XMLHttpRequest的实现)。

    6、总结

    由于不同浏览器对get请求的编码方式不同,所以web应用的访问路径及get请求的参数(直接在url中输入的情况下)基本都使用数字和字母表示,很少用中文等其他ASCII码范围之外的字符,以免出现乱码问题。

    如果是返回页面中的get请求,服务端肯定会根据自己的情况进行合适的编码,无需关心中文等问题。

  • 相关阅读:
    有多少程序员超过四十岁呢?
    乔布斯的演讲技巧:教你站在讲台上怎样化腐朽为神奇
    想要好看的WORDPRESS模板
    多些时间能少写些代码
    java播放au音频程序
    明星软件工程师的10种特质
    中国互联网创业的四个机遇
    Android环境搭建
    想写代码?离开你的电脑吧!
    深讨Java SE 6 在 HTTP 方面的新特性(NTLM)
  • 原文地址:https://www.cnblogs.com/shengxinking/p/3835656.html
Copyright © 2011-2022 走看看