У меня есть сервер JSONP node.js, который возвращает данные для веб-страницы. Страница отправляет AJAX-запросы к серверу Node и возвращает код JSONP.
Это отлично работает во всех браузерах, пока я не включу сжатие. Если я возвращаю ответ AJAX в формате deflate или gzip, он работает для всех, кроме 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 отклоняет эти данные?
Ваше здоровье,
белый атом