Webページのデータを返すnode.jsJSONPサーバーがあります。このページはノードサーバーにAJAXリクエストを送信し、JSONPコードを取得します。
圧縮を有効にするまで、これはすべてのブラウザで完全に機能しています。deflateまたはgzip圧縮でAJAX応答を返すと、IE9を除くすべてのユーザーで機能します。これはファイルをデコードしません。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で動作するWebサイトでも同じ動作に気付いたため、これは正常であると思います。IBMたとえば、.com-Chromeはコンテンツエンコーディングを表示しますが、IEは表示しません。
では、IEは圧縮をサポートしておらず、他のサーバーがそれを検出していますか?IEがこのデータを拒否する理由を誰かが知っていますか?
乾杯、
ホワイトアトム