본문 바로가기

mod_deflate 사용하여 웹페이지 압축 전송

MintState 2013년 9월 30일 오후 7:10 조회 13398

mod_deflate 사용하여 웹페이지 압축 전송

아파치(Apache) 모듈중에서 mod_deflate을 사용하여 웹페이지를 압축할 수 있다.

http://www.whatsmyip.org/http-compression-test/ 사이트에서 테스트를 해볼 수 있다.

우선 아파치에 mod_deflate 모듈이 올라 왔는지 확인한다.
httpd -l 로 확인.

만일 올라오지 않았을 경우에는
아파치 소스 /usr/local/src/httpd-2.2.2/modules/filters/ 디렉토리에서 mod_deflate.c 파일을 찾을 수 있다.

/usr/local/apache/bin/apxs -aic ./mod_deflate.c

 
명령으로 해당 모듈을 등록 시킨다.

그리고 아파치 설정파일에 아래와 같이 등록 시키면 된다.
또한 아파치에 zlib 라이브러리가 등록되어 있어야 한다.

<IfModule mod_deflate>
# 특별한 MIME type만 압축
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript text/css
# 압축률을 지정합니다. (1~9)
DeflateCompressionLevel 9

# Netscape 4.x에 문제가 있다...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08에 더 문제가 있다
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE은 Netscape라고 자신을 알리지만, 문제가 없다
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# 압축하지 않을 파일들을 지정합니다.
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|bmp|zip|tar|rar|alz|a00|ace|txt|mp3|mpe?g|wav|asf|wma|wmv|swf|exe|pdf|doc|xsl|hwp|java|c|t?gz|bz2|7z)$ no-gzip dont-vary
# 프록시가 잘못된 내용을 전달하지않도록 한다
Header append Vary User-Agent env=!dont-vary
</IfModule>

아래와 같이 Location을 사용하여 특정 디렉토리에다 적용시킬수 도 있다.

<Location>

</Location>

 

공유 X Facebook LINE QR 코드

댓글 0개

첫 댓글을 남겨보세요.