본문 바로가기
웹/Apache

Apache#10 - gzip 설정

by gntpapa 2021. 10. 20.

http 대역폭/트래픽 절감을 위해서 압축 설정을 하는 경우가 있습니다. 압축관련해서는 gzip, br 등 여러가지 방식이 있습니다.

https://ko.wikipedia.org/wiki/HTTP_%EC%95%95%EC%B6%95

 

HTTP 압축 - 위키백과, 우리 모두의 백과사전

HTTP 압축(HTTP compression)은 전송 속도와 대역폭 이용을 개선하기 위해 웹 서버와 웹 브라우저에 빌드되는 기능이다.[1] HTTP 데이터는 서버로부터 전송되기 전에 압축된다. 호환 브라우저들은 유효

ko.wikipedia.org

 

이번에는 gzip  설정에 대해서 공유드립니다.

- AddOutputFilterByType 으로 압축할 Type 지정

-  DeflateCompressionLevel 로 압축 레벨 지정 ( 1 ~ 9 , 숫자가 높을수록 압축률이 높아지지만, CPU를 더 많이 사용합니다.)

- BrowserMatch 로 호환되지 않는 브라우저를 설정합니다.

- 로그설정의 경우 개발 혹은 압축이 정상적으로 되는지 확인하고 싶으신 경우 사용

 

<ifmodule mod_deflate.c>
        # Compress HTML, CSS, JavaScript, Text, XML and fonts
        AddOutputFilterByType DEFLATE application/javascript
        AddOutputFilterByType DEFLATE application/rss+xml
        AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
        AddOutputFilterByType DEFLATE application/x-font
        AddOutputFilterByType DEFLATE application/x-font-opentype
        AddOutputFilterByType DEFLATE application/x-font-otf
        AddOutputFilterByType DEFLATE application/x-font-truetype
        AddOutputFilterByType DEFLATE application/x-font-ttf
        AddOutputFilterByType DEFLATE application/x-javascript
        AddOutputFilterByType DEFLATE application/xhtml+xml
        AddOutputFilterByType DEFLATE application/xml
        AddOutputFilterByType DEFLATE font/opentype
        AddOutputFilterByType DEFLATE font/otf
        AddOutputFilterByType DEFLATE font/ttf
        AddOutputFilterByType DEFLATE image/svg+xml
        AddOutputFilterByType DEFLATE image/x-icon
        AddOutputFilterByType DEFLATE text/css
        AddOutputFilterByType DEFLATE text/html
        AddOutputFilterByType DEFLATE text/javascript
        AddOutputFilterByType DEFLATE text/plain
        AddOutputFilterByType DEFLATE text/xml
        AddOutputFilterByType DEFLATE application/json


        DeflateCompressionLevel 6
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

        ####로그설정.
        DeflateFilterNote Input instream
        DeflateFilterNote Output outstream
        DeflateFilterNote Ratio ratio
        ##
        LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
        CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/deflate_%y%m%d.log 86400" deflate

</ifmodule>

 

 

공식 사이트: http://httpd.apache.org/docs/2.4/ko/mod/mod_deflate.html

 

mod_deflate - Apache HTTP Server Version 2.4

 

httpd.apache.org