Javascript GZip在IE9中不起作用
在有人指出之前,是的,我翻阅了SFO并阅读了所有链接/解决方案,但仍然无法找到问题所在。这就是我创建这篇新帖子的原因 因此,我使用的是Spring4+AngularJS w/Tomcat7.0.67。尝试压缩HTTP响应,因为大多数情况下,它将是约200 KB的JSON数据!因此,我创建了一个过滤器来压缩响应,它在除IE9之外的所有浏览器上都能正常工作!!你可能会问为什么IE9?因为我的客户这么说!所以我别无选择 我尝试添加内容编码以响应控制器的请求,如Javascript GZip在IE9中不起作用,javascript,angularjs,json,internet-explorer-9,spring-4,Javascript,Angularjs,Json,Internet Explorer 9,Spring 4,在有人指出之前,是的,我翻阅了SFO并阅读了所有链接/解决方案,但仍然无法找到问题所在。这就是我创建这篇新帖子的原因 因此,我使用的是Spring4+AngularJS w/Tomcat7.0.67。尝试压缩HTTP响应,因为大多数情况下,它将是约200 KB的JSON数据!因此,我创建了一个过滤器来压缩响应,它在除IE9之外的所有浏览器上都能正常工作!!你可能会问为什么IE9?因为我的客户这么说!所以我别无选择 我尝试添加内容编码以响应控制器的请求,如 response.setHeader("
response.setHeader("Content-Encoding", "gzip, deflate");
但是IE未能解密数据,尽管数据像在其他浏览器中一样被压缩
我甚至为所有请求添加了以下行
$httpProvider.defaults.headers.common["Accept-Encoding"] = "gzip, deflate";
但仍然不起作用
请帮助我了解问题所在
更新:
其他浏览器中的gzip响应大小为14.7KB,而IE中的响应大小为225KB,这是未压缩的数据大小
**详细标题:**
Response Headers :
view source
Cache-Control:public, max-age=0, must-revalidate
Content-Encoding:gzip
Content-Length:14624
Content-Type:application/json;charset=UTF-8
Date:Mon, 18 Jan 2016 11:48:03 GMT
Expires:Mon, 18 Jan 2016 11:48:02 GMT
Server:Apache-Coyote/1.1
Request Headers :
view source
Accept:application/json, text/html
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Content-Length:0
Cookie:JSESSIONID=83DCA3B424E9F7A3EB8E165EFDA9730D; __ngDebug=true
Host:localhost:8080
Origin:http://localhost:8080
Pragma:no-cache
Referer:http://localhost:8080/AppName/test/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36
来自IE9的头文件
Request POST http://xx.xx.xx.xx:8080/AppName/loadClientMaster HTTP/1.1
Referer http://xx.xx.xx.xx:8080/AppName/test/#/menu
Accept application/json, text/html
Accept-Language en-us
Accept-Encoding gzip, deflate
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host xx.xx.xx.xx:8080
Content-Length 0
Proxy-Connection Keep-Alive
Pragma no-cache
Cookie JSESSIONID=9FBA9758381235CD22974C796449747B
Response HTTP/1.1 200 OK
Server Apache-Coyote/1.1
Cache-Control public, max-age=0, must-revalidate
Expires Mon, 18 Jan 2016 12:10:03 GMT
Content-Type application/json;charset=UTF-8
Date Mon, 18 Jan 2016 12:10:04 GMT
X-Cache MISS from PROXYNEW
X-Cache-Lookup MISS from PROXYNEW:8080
Via 1.1 PROXYNEW (squid/3.2.3)
Connection keep-alive
你能澄清“但仍然不起作用”吗?是否未进行HTTPRequest?没有结果吗?结果是否未正确解码?”但IE未能解密数据“你也在使用加密吗?”在问题本身中更新。对不起,如果我的帖子不清楚。在除IE9之外的所有浏览器中,响应数据大小为14.7KB,而在IE9中,响应数据大小为225KB,这是未压缩数据的大小!这就是我想说的。在IE响应中还有其他的头,不一定是X-Cache头,这似乎意味着中间有一个代理。是这样的吗?代理是否会减少响应?让我检查一下!但为什么缓存头会对gzip头产生影响呢?它们不会,但代理可能会。