我有一个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
答案 0 :(得分:0)
Apache可能会设置为嗅探IE并使用HTTP 1.0而不是HTTP 1.1。如果网站使用HTTPS,则IIS将不允许压缩。 related question也可以提供帮助。