转自: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所引发的问题及解决方案相关推荐

  1. ​什么问题最让程序员头秃?我们分析了11种语言的11000个问题

    导读:自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员.自那时以来,开发人员提出了数百万个关于开发领域的问题. 但是,迫使开发者转向 Stack Overflow ...

  2. 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第11章 语言数据管理

    第11章 语言数据管理 11.1 语料库结构:一个案例研究 主要设计特点 基本数据类型 11.2 语料库生命周期 语料库创建的三种方案 质量控制 维护与演变 11.3 数据采集 从网上获取数据 从字处 ...

  3. 未针对内部单位 D 的语言 ZH 定义任何语言特定的单位

    在写ABAP程序的时候调用功能函数或者调用BDC的时候会要求输入单位.当我们正常输入单位后调用函数就会报错 提示:未针对内部单位 ** 的语言 ZH 定义任何语言特定的单位.但是我们检查表T006和T ...

  4. c语言:最长对称子串(3种解决方案)

    c语言:最长对称子串(3种解决方案) 参考文章: (1)c语言:最长对称子串(3种解决方案) (2)https://www.cnblogs.com/McQueen1987/p/3559497.html ...

  5. 谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案)

    谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案) 参考文章: (1)谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案) (2)https://www.cnblogs.com/ga ...

  6. EMS (www.ems.com.cn不能直接访问)查询解决方案

    EMS (www.ems.com.cn不能直接访问)查询解决方案 注:如有冒犯,请联系:如有帮助,请分享‍ 方法如下 1. 在以下连接里面点击查询(要显示出图片) http://translate.g ...

  7. 《用Python进行自然语言处理》第 11 章 语言数据管理

    1. 我们如何设计一种新的语言资源,并确保它的覆盖面.平衡以及支持广泛用途的文 档? 2. 现有数据对某些分析工具格式不兼容,我们如何才能将其转换成合适的格式? 3. 有什么好的方法来记录我们已经创建 ...

  8. C语言zh字符串指针的大小,C语言的一些小技巧,小知识

    1.用if(!strcmp(s1, s2)) 比较两个字符串等值,是否是个好风格? 这并不是个很好的风格, 虽然这是个流行的习惯用法.如果两个字符串相等, 这个测试返回为真, 但! ("非& ...

  9. 1.11——Go语言适合做什么

    一.我们为什么选择Go语言 选择Go语言的原因可能会有很多,关于Go语言的特性.优势等,我们在之前的文档中也已经介绍了很多了.但是最主要的原因,应该是基于以下两方面的考虑: 执行性能 缩短API的响应 ...

最新文章

  1. mysql批量导入 导出数据_MySQL批量导入导出数据
  2. 总结 @ 在 C# string 中的用法
  3. 安卓三维展示源码_手机(安卓)自动化脚本开发线上培训
  4. Nginx 最全操作总结
  5. JS 装饰器(Decorator)场景实战
  6. 【渝粤题库】陕西师范大学180109 小学教师专业发展 作业
  7. IOS沙盒中的Documents、Library、tmp区别
  8. python设计报告的前言怎么写_2017实习报告前言怎么写
  9. Docker安装Mysql8.0,并配置忽略大小写,一句命令搞定
  10. 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击 1
  11. php网站怎么对接微信群,PHP对接微信公众平台消息接口开发流程教程
  12. 小程序的全栈开发新时代
  13. Oracle技术分享系列一:Oracle数据库学习资源推荐
  14. 利用微搭低代码实现公差申请
  15. 图像处理-Sobel边缘检测(C++实现,不依赖opencv)
  16. 一个支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱
  17. 机器学习面试题(上)
  18. 华为防火墙默认密码是什么?
  19. 使用JSTmplate向页面渲染数据(使用方法示例)
  20. XTUOJ-1379 折纸-贰

热门文章

  1. oracle10g 64下载,oracle10g
  2. Html中的section标签
  3. python中常用的文件和目录操作(一)
  4. NPOI导出Excel2007
  5. OpenCV对图片四周进行填充函数copyMakeBorder
  6. 怎样进行主板CMOS电池放电
  7. $.parseJSON() 函数用于将符合标准格式的的JSON字符串转为与之对应的JavaScript对象。
  8. 第一讲 《javascript 浏览器发展历史》
  9. 花书笔记:第07章 深度学习中的正则化
  10. 呕心整理,项目中常用的Linux命令。