IE 11 请求语言zh-Hans-CN所引发的问题及解决方案
转自:https://blog.csdn.net/xiaoyw71/article/details/51859342
写在前面
首先感谢问题最终解决人:田志辉(音泰思公司【日本】)、白军(北京音泰思)
感谢常先魏(上海辛诺)、王铭孜(OpenText 中国)、Tarun Nagalla(OpenText)、Pavan Chilaka(OpenText)、张玉明(联通系统集成公司)在解决、分析问题过程中所提供的帮助。
感谢CSDN博客为技术交流提供的平台。
故事是这样的,去年(2015年)七月份,用户就提出将新系统(注:2014年规划设计,2015年年初开始实施)定位使用Win10操作系统,浏览器要支持IE11(微软Internet Explorer 11)。而合作伙伴却说Opentext Cordys BOP 4.3不支持IE11[1],而且没有没有解决方案。
由于设计方案中,界面部分采用HTML5+JS(JQuery)技术,绕开系统平台XForm技术,也能达到支持IE11要求。
但是,当去年年末,新系统上线后,当系统出现未控制到的错误时,将弹出XForm界面,或者,用户偶尔访问到系统管理平台界面,将发生问题[2]。
此问题也将会给生产环境带来隐患,也就是用户偶尔访问到系统管理平台界面时,将短时间内造成系统性能下降。
今年5月份,将此问题提交到OpenText技术支持,此后过程大致情况见《 IE 11 访问Cordys BOP 4.3 问题分析》
描述。
再补充一点问题分析内容:英文、日文环境都无此现象。
昨日(7月7日),我在CSDN博客发表了《 IE 11 访问Cordys BOP 4.3 问题分析》博文,并分享到微信朋友圈。
很幸运,Intasect的白军把此文转给了田志辉,在这些友人的帮助下,问题得以解决。
产生问题的原因是 IE 11的HTTP RequestHeader Accept-Language 是 zh-Hans-CN,Cordys的SOAP请求不识别IE11请求中语言(language)zh-Hans-CN:
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<Generate xmlns="http://schemas.cordys.com/1.0/xform">
<hostname>10.64.50.153</hostname>
<parameters>organization=o=HLJ,cn=cordys,cn=defaultInst,o=hlcuc.com</parameters>
<organization>o=HLJ,cn=cordys,cn=defaultInst,o=hlcuc.com</organization>
<baseurl>http://10.64.50.153:80/home/HLJ/</baseurl>
<isIE6>false</isIE6>
<preview>false</preview>
<key lastModified="">/com/cordys/cusp/cusp.caf</key>
<language>zh-Hans-CN</language>
</Generate>
</SOAP:Body>
</SOAP:Envelope>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
注意IE11将zh-CN改为了zh-Hans-CN。
解决方案是设置Web网关服务语言转换,本系统使用Apache Http服务,因此,设置与Apache相关的配置即可。
[root@VMXPNSAPP ~]# vi /opt/Cordys/defaultInst/components/webgateway/Apache/cordys_apache.conf
1
# Cordys Apache 2.0 Configuration Settings
LoadModule deflate_module modules/mod_deflate.so
......
<LocationMatch ^/(cordys|home)>
Header set X-UA-Compatible "IE=EmulateIE8,IE=EmulateIE10"
RequestHeader set Accept-Language "zh-CN,zh;q=0.8"
</LocationMatch>
[1].《 Cordys对浏览器支持信息(Support information on latest browsers) 》,译 肖永威 2016.01
[2].《 IE 11 访问Cordys BOP 4.3 问题分析》 肖永威 2016.07
[3]. 百度.Accept-Language
Accept-Language 是HTTP 请求里面的一个属性,用于告诉服务器浏览器可以支持什么语言。 如果网站支持多语种的话,可以使用这个信息来决定返回什么语言的网页 。
Accept-Language: zh-CN,fr-FR;q=0.5这里zh-CN 是表示中文,fr-FR 是表示法语。 这是RFC1766定义的语言表示方式。默认情况下,IE使用Windows default locale 来决定Accept-Language 属性。Windows default locale 可以通过Win32 API函数 GetUserDefaultLCID 来取得。另外,shell API 提供 GetAcceptLanguages 函数来取得IE的Accept-Language 。
---------------------
作者:肖永威
来源:CSDN
原文:https://blog.csdn.net/xiaoyw71/article/details/51859342
版权声明:本文为博主原创文章,转载请附上博文链接!
chrome查看网页header,鼠标右键打开审查元素,或快捷键Shift+Ctrl+I或者shift+ctrl+c
当我打开Network后,发现里面是空的什么也没有。
查了下,才知,需要刷新页面才能显示出来。
想了想也是应该,只有重新载入网页,chrome才能捕获header信息。
据说这个功能很好很强大,可以用来找到隐藏的视频文件源地址。很多非专业人士用审查元素好像也就是来干这个。
IE和FireFox查看页面header信息需要插件
IE:HttpWatch,Fiddler2
FireFox:Firebug
————————
chrome如何查看网页header信息
1,Shift+Ctrl+I 调出 我们牛逼的,性感代码式的调试工作台~~
2,然后载入网页.
3,再然后,去看Network信息…
4,亮点来了,点击Network信息的第一个玉米.
小人物 2011-10-22 20:07:27
光年论坛 http://www.gnbase.com/thread-8569-1.html
使用chrome浏览器自带的开发者工具查看http头的方法
1.在网页任意地方右击选择审查元素或者按下 shift+ctrl+c打开chrome自带的调试工具;
2.选择network标签,刷新网页(在打开调试工具的情况下刷新);
3.刷新后在左边找到该网页url,点击 后右边选择headers,就可以看到当前网页的http头了;
libi 于2012年05月11日 http://libisky.com/web/php/410.html
请求Header(HTTP request header )
Host 请求的域名
User-Agent 浏览器端浏览器型号和版本
Accept 可接受的内容类型
Accept-Language 语言
Accept-Encoding 可接受的压缩类型 gzip,deflate
Accept-Charset 可接受的内容编码 UTF-8,*
服务器端的响应Header(response header)
Date 服务器端时间
Server 服务器端的服务器软件 Apache/2.2.6
Etag 文件标识符
Content-Encoding传送启用了GZIP压缩 gzip
Content-Length 内容长度
Content-Type 内容类型
响应Headers,我们应该时刻留意它们。这些信息无法直接获取,需要依靠第三方工具。
阅微堂张志强 http://zhiqiang.org/blog/it/speedup-blog-http-headers.html
Chrome快捷键
Ctrl + Shift +B :打开书签管理器
Ctrl + Shift + T :恢复已关闭的标签页(最多恢复10项)
CTRL + D:当前页添加为书签
Ctrl + U:查看源文件
[多浏览器兼容]IE11中HTTP头Accept-Language的变化
将IE浏览器语言设置为中文,加载一个网页,查看浏览器发送的HTTP头中Accept-Language信息。
IE9
IE11
注意IE11将zh-CN改为了zh-Hans-CN。如果Server端没处理好,用IE11打开的网站可能无法正常显示中文。
解决方法,以C#为例,在Server端,在HTTP请求入口处(Global.asax.cs文件的Application_PreRequestHandlerExecute()函数中),直接改变HTTP头的Accept-Language内容:
if(Request.UserLanguages[i].ToString()=="zh-Hans-CN")
{
Request.UserLanguages[i] = "zh-CN";
}
IE 11 请求语言zh-Hans-CN所引发的问题及解决方案相关推荐
- 什么问题最让程序员头秃?我们分析了11种语言的11000个问题
导读:自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员.自那时以来,开发人员提出了数百万个关于开发领域的问题. 但是,迫使开发者转向 Stack Overflow ...
- 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第11章 语言数据管理
第11章 语言数据管理 11.1 语料库结构:一个案例研究 主要设计特点 基本数据类型 11.2 语料库生命周期 语料库创建的三种方案 质量控制 维护与演变 11.3 数据采集 从网上获取数据 从字处 ...
- 未针对内部单位 D 的语言 ZH 定义任何语言特定的单位
在写ABAP程序的时候调用功能函数或者调用BDC的时候会要求输入单位.当我们正常输入单位后调用函数就会报错 提示:未针对内部单位 ** 的语言 ZH 定义任何语言特定的单位.但是我们检查表T006和T ...
- c语言:最长对称子串(3种解决方案)
c语言:最长对称子串(3种解决方案) 参考文章: (1)c语言:最长对称子串(3种解决方案) (2)https://www.cnblogs.com/McQueen1987/p/3559497.html ...
- 谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案)
谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案) 参考文章: (1)谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案) (2)https://www.cnblogs.com/ga ...
- EMS (www.ems.com.cn不能直接访问)查询解决方案
EMS (www.ems.com.cn不能直接访问)查询解决方案 注:如有冒犯,请联系:如有帮助,请分享 方法如下 1. 在以下连接里面点击查询(要显示出图片) http://translate.g ...
- 《用Python进行自然语言处理》第 11 章 语言数据管理
1. 我们如何设计一种新的语言资源,并确保它的覆盖面.平衡以及支持广泛用途的文 档? 2. 现有数据对某些分析工具格式不兼容,我们如何才能将其转换成合适的格式? 3. 有什么好的方法来记录我们已经创建 ...
- C语言zh字符串指针的大小,C语言的一些小技巧,小知识
1.用if(!strcmp(s1, s2)) 比较两个字符串等值,是否是个好风格? 这并不是个很好的风格, 虽然这是个流行的习惯用法.如果两个字符串相等, 这个测试返回为真, 但! ("非& ...
- 1.11——Go语言适合做什么
一.我们为什么选择Go语言 选择Go语言的原因可能会有很多,关于Go语言的特性.优势等,我们在之前的文档中也已经介绍了很多了.但是最主要的原因,应该是基于以下两方面的考虑: 执行性能 缩短API的响应 ...
最新文章
- mysql批量导入 导出数据_MySQL批量导入导出数据
- 总结 @ 在 C# string 中的用法
- 安卓三维展示源码_手机(安卓)自动化脚本开发线上培训
- Nginx 最全操作总结
- JS 装饰器(Decorator)场景实战
- 【渝粤题库】陕西师范大学180109 小学教师专业发展 作业
- IOS沙盒中的Documents、Library、tmp区别
- python设计报告的前言怎么写_2017实习报告前言怎么写
- Docker安装Mysql8.0,并配置忽略大小写,一句命令搞定
- 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击 1
- php网站怎么对接微信群,PHP对接微信公众平台消息接口开发流程教程
- 小程序的全栈开发新时代
- Oracle技术分享系列一:Oracle数据库学习资源推荐
- 利用微搭低代码实现公差申请
- 图像处理-Sobel边缘检测(C++实现,不依赖opencv)
- 一个支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱
- 机器学习面试题(上)
- 华为防火墙默认密码是什么?
- 使用JSTmplate向页面渲染数据(使用方法示例)
- XTUOJ-1379 折纸-贰