[Apache] gzip 압축전송

배세훈·2022년 9월 6일
0

gzip 사용하기위한 조건

  1. 사이트에 접속하는 사용자의 브라우저에서 gzip 기능을 지원해야 한다.
  2. 서버에서 gzip으로 전송해야 한다.

Apache 설정 방법

httpd.conf 파일을 수정한다.

LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule filter_module modules/mod_filter.so

위 세개 모듈 주석 해제 또는 추가 한 후 아래 적혀있는 것들을 복사해서 하단에 붙여넣고 apache restart 후 확인

<IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css
        AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml
        AddOutputFilterByType DEFLATE application/javascript application/x-javascript
        AddOutputFilterByType DEFLATE audio/midi
        DeflateCompressionLevel 9

        BrowserMatch ^Mozilla/4 gzip-only-text/html  # Netscape 4.xx에는 HTML만 압축해서 보냄
        BrowserMatch ^Mozilla/4\.0[678] no-gzip  # Netscape 4.06~4.08에는 압축해서 보내지 않음
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html  # 자신을 Mozilla로 알리는 MSIE에는 그대로 압축해서 보냄
        
        ##예외 설정
        SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|bmp|zip|gz|rar|7z)$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|iso|tar|bz2|sit|rar) no-gzip dont-vary
        SetEnvIfNoCase Request_URI .pdf no-gzip dont-vary
        SetEnvIfNoCase Request_URI .flv no-gzip dont-vary
        
        ####로그설정.
        DeflateFilterNote Output outstr
        DeflateFilterNote Input instr
        DeflateFilterNote Ratio ratio
        LogFormat '"%r" %{outstr}n/%{instr}n (%{ratio}n%%)' DEFLATE
        Header append Vary User-Agent env=!dont-vary
</IfModule>
  • chorme 개발자 도구에서 확인할 수 있는 내용
    Response Header쪽에 gzip으로 압축 전송 되고 있다.

profile
성장형 인간

0개의 댓글