1

我有一个返回网页数据的 node.js JSONP 服务器。该页面向 Node 服务器发出 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 拒绝这些数据?

干杯,

白原子

4

1 回答 1

0

Apache可能被设置为嗅探 IE 并使用 HTTP 1.0 而不是 HTTP 1.1。如果站点使用 HTTPS,IIS将不允许压缩。一个相关的问题也可能有所帮助。

于 2012-08-11T03:25:21.780 回答