본문 바로가기
IT 인터넷

웹사이트 트래픽을 줄이자 (1) - mod_deflate

by 곰달달 2017. 7. 28.


트래픽을 줄일수 있는 방법중 하나인 mod_deflate


mod_deflate 모듈은 서버의 출력을 네트웍으로 클라이언트에 보내기 전에 압축하는 DEFLATE 출력필터를 제공한다.


<IfModule mod_deflate.c>
    # 필터를 추가한다
    SetOutputFilter DEFLATE

    # 압축률 설정
    DeflateCompressionLevel 9

    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript

    # 이미지를 압축하지 않는다
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

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

    # 프록시가 잘못된 내용을 전달하지 않도록 한다
    Header append Vary User-Agent env=!dont-vary

    # 로그 설정
    DeflateFilterNote Input instream
    DeflateFilterNote Output outstream
    DeflateFilterNote Ratio ratio

    LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' defalte
    CustomLog logs/deflate_log deflate
</IfModule>


자세한 정보는 Apache 홈페이지에서 확인 가능