IIS 7.5는 성공적으로 압축했지만 응답으로 압축되지 않은 버전을 보냅니다.

IIS 7.5는 성공적으로 압축했지만 응답으로 압축되지 않은 버전을 보냅니다.

정적 콘텐츠와 동적 콘텐츠 모두에 gzip 압축을 사용하도록 IIS 7.5를 설정했습니다. "IIS 임시 압축 파일" 폴더를 검사하여 구성에 정의한 모든 정적 MIME 유형이 실제로 압축되고 있음을 확인했습니다. 또한 요청 추적 실패를 강제 실행하여 요청이 들어올 때(정적 및 동적 모두) 오류 없이 압축이 성공적으로 실행되고 있음을 확인했습니다.

그러나 IIS가 브라우저로 다시 보내는 응답은 압축되지 않습니다. 응답의 크기는 동일하며 응답에 "Content-Encoded: gzip" 헤더가 없습니다.

내 IIS 구성:

    <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" minFileSizeForComp="1" noCompressionForHttp10="false" noCompressionForProxies="false">
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
        <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/json" enabled="true" />
            <add mimeType="application/json; charset=utf-8" enabled="true" />
            <add mimeType="application/javascript" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="application/x-javascript; charset=utf-8" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/atom+xml" enabled="true" />
            <add mimeType="application/xaml+xml" enabled="true" />
            <add mimeType="application/javascript" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="application/x-javascript; charset=utf-8" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>
    ...
    <urlCompression doStaticCompression="true" doDynamicCompression="true" />
    ...
    <serverRuntime frequentHitThreshold="1" />

샘플 요청(예는 동적이지만 정적 유형에도 동일하게 적용됨):

    Accept:application/json, text/plain, */*
    Accept-Encoding:gzip, deflate
    Accept-Language:en-US,en;q=0.8
    Cache-Control:no-cache
    Connection:keep-alive
    Content-Length:0
    Cookie:ASP.NET_SessionId=...
    Host:...
    Origin:...
    Pragma:no-cache
    Referer:...
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36

샘플 응답:

    Cache-Control:private
    Content-Type:application/json; charset=utf-8
    Date:Tue, 29 Sep 2015 21:37:28 GMT
    Server:Microsoft-IIS/7.5
    Set-Cookie:.ASPXAUTH=...
    Transfer-Encoding:chunked
    Vary:Accept-Encoding
    X-AspNet-Version:4.0.30319
    X-AspNetMvc-Version:5.0
    X-Powered-By:ASP.NET

다시 한 번 성공적으로 압축되고 있음을 확인했습니다. 단지 어떤 이유로든 응답으로 압축된 데이터를 보내지 않는 것뿐입니다.

관련 정보