웹서버/Apache

[Tips] Apache 웹서버에 gzip 압축 적용하기

투칼론 2021. 8. 26. 18:48
반응형

mod_deflate 모듈은 네트워크를 통해 클라이언트로 보내기 전에 서버의 출력을 압축할 수 있는 DEFLATE 출력 필터를 제공한다. gzip 압축 기능을 사용하기 위해서는 해당 웹서비스를 사용하는 사용자의 브라우저가 HTTP/1.1을 지원하는 최신 브라우저이어야한다.

참고로, 브라우저와 Apache 웹서버간의 압축 및 해제를 설정하면, 네트워크 구간에 전송되는 컨텐츠 크기는 줄어 네트워크 시간은 줄어들지만, 브라우저와 Apache 서버에서는 압축/해제를 위해 CPU를 소모해야하므로, 자원 사용률과 실질적인 응답속도는 늦을 수도 있음에 주의해야 한다.

 

1. gzip 모듈 활성화

Apache 구성 파일 httpd.conf 파일에 아래와 같이 mod_deflate 모듈을 로딩해야 한다.

LoadModule deflate_module modules/mod_deflate.so

 

2. gzip 룰 설정

httpd.conf 파일의 마지막 부분 적당한 위치에 압축하고자 하는 컨텐트 유형을 아래와 같이 설정한다. 오래전 브라우저 종류 및 버전 또는 이미지 등 압축 대상에서 제외도 할수 있다.

<IfModule mod_deflate.c>
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
</IfModule>

 

[참고] https://httpd.apache.org/docs/2.4/mod/mod_deflate.html