Win7 x64 상자에서 Internet Explorer 8, Firefox 3.6, Chrome 8 및 IIS 7.5를 사용합니다.헤더가 있다고해도 헤더와 함께 IE에서 gzip을 사용하지 않습니다.
IHttpHandler (.NET 4)를 사용하여 파일을 제공하고 있습니다.
피들러에 따르면, IE8에서 내 IIS 요청은 GZIP을 받아 말한다, 그러나 그것은 반환되지 않습니다
는
GET http://loc.portal.com/AdminCenter/FileHandler.ashx?ID=115 HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, */* Accept-Language: en-US User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDR; .NET4.0C; .NET4.0E; MS-RTC LM 8; InfoPath.3) Accept-Encoding: gzip, deflate Connection: Keep-Alive Host: loc.portal.com Cookie: LoginName=; ASP.NET_SessionId=d5qiw5nubkjd2r00gnebg3ar; .ASPXAUTH=BAEA blah blah
헤더가 반환 (즉 loc.portal.com 실제로 127.0.0.1입니다 주) IIS에서 IE로 :
HTTP/1.1 200 OK Cache-Control: private Transfer-Encoding: chunked Content-Type: application/msword Server: Microsoft-IIS/7.5 Content-Disposition: attachment; filename="Roll Worksheet.doc" X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Mon, 24 Jan 2011 20:53:34 GMT
gzipped가 아닙니다. 파이어 폭스와
그러나 요청은 다음과 같습니다
GET http://loc.portal.com/AdminCenter/FileHandler.ashx?ID=115 HTTP/1.1 Host: loc.portal.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Referer: http://loc.portal.com/sb.cn Cookie: ASP.NET_SessionId=hw104pctkzrdtciwg4ihriqx; .ASPXAUTH=4FBB blah blah
응답, 올바르게, 그것은 gzip을 반환 말한다 :
HTTP/1.1 200 OK Cache-Control: private Transfer-Encoding: chunked Content-Type: application/msword Content-Encoding: gzip Server: Microsoft-IIS/7.5 Content-Disposition: attachment; filename="Roll Worksheet.doc" X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Mon, 24 Jan 2011 20:55:07 GMT
크롬이 파이어 폭스 비슷합니다. gzip을 요청하고 gzip이 반환됩니다. Fiddler에 표시되는 콘텐츠 크기로 볼 때 Chrome과 Firefox에서는 본문이 실제로는 gzip되지만 IE에서는 그렇지 않은 것을 볼 수 있습니다.
IIS에서 설정 한 "동적 콘텐츠 압축 사용"(정적 콘텐츠 압축은 물론)이 있습니다. 내 IHttpHandler는 압축과 관련하여 특별한 작업을 수행하지 않으며 다른 브라우저에 대해 다른 코드를 실행하지 않습니다. 나는 프로젝트의 출처를 수색했는데, 나는 "gzip"에 대한 언급을 전혀 보지 못했고, 내가 우연히 그걸로 엉망이 될 수있는 것을 보지 못했다.
IIS에서 gzipped 데이터를 IE로 보내지 않는 이유는 무엇입니까?
중요합니까?IE 사용자는 페이지로드 속도를 늦추는데 사용되므로 여분의 초는 아무런 차이가 없습니다. 오, 이건 ServerFault에 속해 있습니다. :) –
ServerFault ... 아마도. 그것은 ASP.NET 문제 및 개발 문제가 아닌 서버 문제 일 수있는 것 같습니다. "중요하니?"에 관해서는 : 솔직히 말하면, 그것은 이상한 행동을 이해하지 못하는 것을 미치게 만듭니다. :-) – mhenry1384
예 IE는 나를 때로는 미치게 만듭니다 ... 나는 유일한 사람이 아니지만, 오늘보다 더 오래 알아요. 어쩌면 내 프로필 페이지의 약력이 도움이 될 것입니다. ; D –