Internet Explorer 11中的GZip压缩无法工作,但在Chrome和Firefox中工作正常

13

大家好,

我使用Spring Boot嵌入式Tomcat和Spring的FilterRegistrationBean功能,通过CompressingFilter (https://github.com/ziplet/ziplet)启用了GZip压缩。

在Chrome和Firefox中,一切都运行良好

  • 响应头中显示Content-Encoding = gzip
  • 传输的JSON数据大小从6.5MB减少到1.2MB - 太棒了:-)

但是,在Internet Explorer 11.0.9600.18097中却不起作用。

在Internet Explorer中:

  • 响应头中不显示Content-Encoding = gzip
  • 传输的JSON数据大小仍然保持为6.5MB。

我在下面附上了我的IE11请求头。

Request Header in IE11

Response Headers - IE11

请问有谁能帮我找出这个问题的原因?

更新: 请看下面的Chrome请求头。

enter image description here


比较请求头与 Chrome 是否有任何差异。另外,您是否在使用某些东西来代理 Tomcat,并且可能会在将请求转发到 Tomcat 之前检测 IE 并篡改请求? - NG.
1
@NG,请求头没有区别,我也附上了我的Chrome请求头。我正在使用嵌入式Tomcat和Spring Boot。无论如何,“在将请求转发到Tomcat之前修改请求”与浏览器无关。那么它在Chrome和Firefox中是如何工作的呢? - Sundararaj Govindasamy
1
因为数据处理逻辑可能会根据用户代理执行某些操作。这通常是它的工作方式。 - NG.
我没有将我的Tomcat与任何服务器进行前置。 - Sundararaj Govindasamy
2个回答

15

Internet Explorer的解压缩逻辑发生在开发者工具之下,因此您可能在开发者工具中看不到Content-Encoding。建议您考虑使用Fiddler来查看实际传输内容。


更多解释请参见此博客 - Olivier Faucheux

2
请查看此链接。该问题已被报告,但微软决定不在IE11上修复它。他们在新的Edge浏览器中进行了修复。
请查看提供链接中的评论。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接