IE 9不接受压缩的AJAX数据

时间:2012-05-28 18:30:23

标签: ajax http-headers internet-explorer-9 http-compression content-negotiation

我有一个node.js JSONP服务器,它返回网页的数据。该页面向节点服务器发出AJAX请求,并返回JSONP代码。

这在所有浏览器中都能正常运行,直到我启用压缩。如果我在deflate或gzip压缩中返回AJAX响应,它适用于除IE 9之外的所有人;它不会解码文件。 IE只是显示一个空白的主体回来,没有错误,没有控制台上的输出。

我已经确保请求通过并且正确的数据被返回到IE客户端,IE就不会接受它。以下是发送给所有客户端的响应标头:

 Access-Control-Allow-Origin:*
 Connection:keep-alive
 Content-Encoding:deflate
 Content-Length:31203
 Content-Type:application/javascript; charset=UTF-8
 X-Content-Type-Options:nosniff

我应该添加 - 这些标题出现在其他浏览器中,但IE没有显示“Content-Encoding:标头。我认为这可能是正常的,因为我注意到与启用了压缩的网站相同的行为并且工作在IE.IBM.com例如 - Chrome显示内容编码,IE不显示。

IE不支持压缩,其他服务器正在检测它吗?有谁知道为什么IE拒绝这些数据?

干杯,

whiteatom

1 个答案:

答案 0 :(得分:0)

Apache可能会设置为嗅探IE并使用HTTP 1.0而不是HTTP 1.1。如果网站使用HTTPS,则IIS将不允许压缩。 related question也可以提供帮助。