다음을 통해 공유


IIS 압축 개요

빙시

이 문서에서는 IIS 압축에 대한 개요를 제공합니다.

IIS 압축이란?

IIS 압축 은 HTTP 응답을 압축하는 IIS의 기능을 확장하는 두 개의 IIS 압축 체계 공급자 (iisbrotli.dlliiszlib.dll)의 번들입니다. iisbrotli.dll Brotli 압축을 지원하고 iiszlib.dll GzipDeflate 압축을 모두 지원합니다.

압축 체계 공급자란?

IIS 압축 체계 공급자:

  • IIS StaticCompressionModuleDynamicCompressionModule.의 플러그형 확장입니다.
  • 하나 이상의 HTTP 압축 구성표에 대한 구현을 제공합니다.

IIS StaticCompressionModuleDynamicCompressionModule:

  • 런타임에 등록된 압축 체계 공급자를 작업자 프로세스에 로드합니다.
  • 이를 활용하여 각각 정적 파일과 동적으로 생성된 콘텐츠에 대한 압축을 수행합니다.

IIS 압축을 사용하는 이유

IIS는 기본 압축 체계 공급자 gzip.dll 제공합니다.

  • Gzip 및 Deflate 압축을 모두 지원합니다.
  • 기본적으로 applicationHost.config에서 gzip 체계로 등록됩니다.

기본 제공 gzip.dll Gzip 및 Deflate 인코딩의 내부 구현을 기반으로 하며 제대로 작동합니다. 그렇다면 IIS 압축에 새로운 압축 체계 공급자를 도입하는 이유는 무엇일까요?

Brotli 압축을 사용하여 높은 압축 비율

Brotli 압축:

  • HTTP 압축에 비교적 새로운 추가 기능입니다.
  • Brotli의 인코딩 알고리즘 및 형식은 RFC(Requests For Comment) 사양 7932지정됩니다.
  • Brotli로 압축된 응답 데이터 스트림에는 콘텐츠 인코딩 형식 "br"이 있습니다.
  • 압축 속도가 낮은 GzipDeflate보다 높은 압축 비율을 제공할 수 있습니다.

클라이언트(브라우저) 쪽의 Brotli 압축 해제는 일반적으로 더 빠릅니다. Brotli 압축을 사용하도록 설정하면 특히 정적 콘텐츠를 제공하는 경우 성능이 향상될 수 있습니다.

더 나은 Gzip 압축 체계 공급자

IIS 압축포함된 iiszlib.dll 기본 공급자 gzip.dll 동일한 GzipDeflate 압축을 제공하지만 iiszlib.dll.

  • 최신 상태입니다.
  • CPU 사용량 측면에서 성능이 향상됩니다.
  • zlib 라이브러리로 인해 동적 압축 지원이 향상되었습니다.

오픈 소스

IIS Compression:

오픈 소스 만들기 IIS Compression 는 커뮤니티에 투명성을 제공하고 유연하고 민첩한 향후 개선, 버그 수정 및 사용자 지정을 허용합니다. 또한 이 프로젝트는 커뮤니티에 IIS 압축 체계 공급자를 개발하기 위한 일반적인 참조를 제공합니다.

IIS 압축 설치

설치 전

iiszlib.dll 및 iisbrotli.dll 압축 체계 공급자는 IIS 모듈이 아니며 IIS StaticCompressionModule 의 확장입니다DynamicCompressionModule. 런타임 StaticCompressionModule DynamicCompressionModule 에 압축 체계 공급자를 로드하고 압축을 위해 응답 콘텐츠 데이터를 전달합니다.

따라서 두 압축 모듈 중 하나 또는 둘 다를 필수 조건으로 IIS 서버에 설치해야 합니다. 기능을 설치하는 방법에 대한 HTTP 압축을 참조하세요. 모듈이 설치되면 원하는 URL 네임스페이스에 대해 정적 및/또는 동적 압축을 사용하도록 설정해야 합니다. 해당 유형의 압축을 사용하도록 설정하는 방법에 대한 URL 압축을 참조하세요.

설치

  1. 다음 위치에서 Microsoft IIS 압축 릴리스를 다운로드합니다.

  2. 관리자 사용자 권한이 있는 명령 프롬프트를 엽니다.

  3. 다음을 입력하여 WASW3SVC 서비스를 중지합니다.

    net stop was /y
    
  4. 예를 들어 iiscompression_<architecture>.exe;를 실행합니다.

    msiexec /I iiscompression_x86.msi
    
    msiexec /I iiscompression_amd64.msi
    
  5. EULA(최종 사용자 사용권 계약)에 동의합니다.

  6. 설치를 완료합니다.

  7. 다음을 입력하여 WASW3SVC 서비스를 시작합니다.

    net start w3svc
    

IIS 압축 설치 관리자는 iisbrotli.dll 삭제하고 iiszlib.dll .%ProgramFiles%\IIS\IIS Compression 설치 관리자는 applicationHost.config에서 iisbrotli.dll br(Brotli) 압축 체계 공급자로 등록합니다. 또한 기본 gzip 압축 체계 공급자 gzip.dll iiszlib.dll 바꿉니다. applicationHost.config샘플 <httpCompression> 요소는 다음과 같습니다.

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme name="br" dll="%ProgramFiles%\IIS\IIS Compression\iisbrotli.dll" />
    <scheme name="gzip" dll="%ProgramFiles%\IIS\IIS Compression\iiszlib.dll" />
    <dynamicTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/x-javascript" 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="application/atom+xml" enabled="true" />
        <add mimeType="application/xaml+xml" enabled="true" />
        <add mimeType="image/svg+xml" enabled="true" />
        <add mimeType="*/*" enabled="false" />
    </staticTypes>
</httpCompression>