IIS7 gzip 사용
IIS7에서 js 및 css와 같은 정적 파일을 gzip으로 압축하는 방법과 클라이언트로 보내기 전에 IIS7이 실제로 gzip으로 압축되는지 테스트하려면 어떻게해야합니까?
구성
Web.config
파일 에서 GZIP 압축을 완전히 활성화 할 수 있습니다 . 이것은 공유 호스팅에 있고 IIS를 직접 구성 할 수 없거나 구성을 대상으로하는 모든 환경간에 수행하려는 경우에 특히 유용합니다.
<system.webServer>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
<dynamicTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
</system.webServer>
테스팅
압축이 작동하는지 여부를 테스트하려면 Chrome 의 개발자 도구 또는 Firefox 용 Firebug를 사용하고 HTTP 응답 헤더가 설정되어 있는지 확인하십시오.
Content-Encoding: gzip
응답 코드가 304 (수정되지 않음)이면이 헤더가 표시되지 않습니다. 이 경우 완전 새로 고침 (새로 고침 버튼을 누르고있는 동안 Shift 또는 컨트롤 유지)을 수행하고 다시 확인하십시오.
Windows 기능 제어판에서이 기능을 활성화해야합니다.
HttpModule의 글로벌 Gzip
최종 IIS 인스턴스 (공유 호스팅 ...)에 액세스 할 수없는 경우이 코드를 모든 HttpApplication.Begin_Request 이벤트에 추가하는 HttpModule을 만들 수 있습니다.
HttpContext context = HttpContext.Current;
context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress);
HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip");
HttpContext.Current.Response.Cache.VaryByHeaders["Accept-encoding"] = true;
테스팅
Kudos, 테스트 없이는 해결책이 없습니다. Firefox 플러그인 " Liveheaders " 를 사용하고 싶습니다. 압축, 파일 크기 (서버의 파일 크기와 비교할 수 있음)를 포함하여 브라우저와 서버 사이의 모든 http 메시지에 대한 모든 정보를 보여줍니다.
Windows 2012 r2 아래에서 찾을 수 있습니다.
YSlow를 Firebug와 함께 사용하고 페이지 성능을 분석하면 YSlow는 페이지의 어떤 아티팩트가 gzip되지 않았는지 확실히 알려줍니다!
aspx와 같은 동적 페이지를 압축하려고 시도하고 작동하지 않는 경우 옵션이 활성화되지 않았기 때문일 수 있습니다 (Windows 기능을 사용하여 동적 컨텐츠 압축 모듈을 설치해야 함).
http://support.esri.com/en/knowledgebase/techarticles/detail/38616
Charlie가 언급 한 것처럼 Windows 기능에 기능을 추가하기 만하면됩니다. Window 10 또는 2012+ 서버에서 찾을 수없는 사용자는 다음과 같이 찾으십시오. 조금 고생했습니다
윈도우 10
윈도우 서버 2012 R2
윈도우 서버 2016
아무것도 설치하지 않고 테스트하는 또 다른 쉬운 방법은 IIS 버전에 의존하지 않는 것입니다. 이 링크에 URL을 붙여 넣기 -SEO 점검
web.config에 추가하려면 http://www.iis.net/configreference/system.webserver/httpcompression
Firebug 애드온이 설치된 Firefox를 사용해보십시오. 나는 그것을 사용하고 있습니다; 웹 개발자를위한 훌륭한 도구입니다.
web.config를 사용하여 IIS7에서도 Gzip 압축을 활성화했습니다.
독일 / 도이치 서버와 싸워야하는 모든 가난한 사람들을 위해 :)
참고 URL : https://stackoverflow.com/questions/702124/enable-iis7-gzip
'IT story' 카테고리의 다른 글
GDB에서 '메모리 액세스'에 중단 점을 설정할 수 있습니까? (0) | 2020.04.18 |
---|---|
CPython에서 GIL (Global Interpreter Lock)이란 무엇입니까? (0) | 2020.04.18 |
포트 465와 587의 차이점은 무엇입니까? (0) | 2020.04.18 |
Linq- 엔티티-SQL“IN”절 (0) | 2020.04.18 |
`from… import` 대`import .` (0) | 2020.04.18 |