1

웹 페이지의 데이터를 반환하는 node.js JSONP 서버가 있습니다. 이 페이지는 노드 서버에 AJAX 요청을하고 JSONP 코드를 다시 가져옵니다.IE 9가 압축 된 AJAX 데이터를받지 않습니다.

압축을 사용하기 전까지 모든 브라우저에서 완벽하게 작동합니다. 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는 "콘텐츠 인코딩을 표시하지 않습니다 : 헤더 나는이 정상적인 것 같아요. 왜냐하면 IE에서 압축 기능이 활성화되어 있고 작동하는 웹 사이트에서 동일한 동작을 감지했기 때문입니다. 예를 들어 IBM.com은 Chrome에서 콘텐츠 인코딩을 표시하지만 IE는 그렇지 않습니다.

IE는 압축 및 기타 서버를 지원하지 않습니다. 그것을 감지 하는가? IE가이 데이터를 거부하는 이유를 아는 사람이 있습니까?

건배,

화이트

답변

0

는 IE를 스니핑하고 HTTP 1.1 대신 HTTP 1.0을 사용하도록 설정할 수 있습니다. 사이트에서 HTTPS를 사용하는 경우 IIS은 압축을 허용하지 않습니다. related question도 도움이 될 수 있습니다.