Posts [Apache] Apache gzip을 이용한 압축 전송 사용
Post
Cancel

[Apache] Apache gzip을 이용한 압축 전송 사용


Contents



아파치 gzip 압축 전송 사용 방법



gzip을 이용하기 위해서는 deflate_module을 사용해야 한다.

${APACHE_HOME}/modules 경로에 mod_deflate.so 모듈이 없으면 설치하도록 하자.


기존에 설치된 Apache에 다운로드 받은 아파치 설치파일로 apxs를 이용해 설치하였다.

1
$ ${APACHE_HOME}/bin/apxs -i -a -c ${APACHE_installFile}/httpd-2.4.41/modules/filters/mod_deflate.c


설치 후 모듈 정상로드 되는지 확인

1
2
$ ./httpd -t -D DUMP_MODULES | grep deflate_module
deflate_module (shared)


정상적으로 load 되었으면 httpd.conf 파일에 아래 내용 추가

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
LoadModule deflate_module modules/mod_deflate.so

<IfModule deflate_module>

AddType text/html .html .htm
AddType text/css  .css
AddType application/xml .xml
AddType application/javascript  .js
AddType application/x-httpd-php .php .php3 .html .htm .phtml .inc
AddType application/x-httpd-php-source .phps

AddOutputFilterByType DEFLATE text/plain text/html text/xml
AddOutputFilterByType DEFLATE application/xhtml+xml application/xml application/rss+xml
AddOutputFilterByType DEFLATE text/css application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/php
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp

#사용할 압축레벨 값이 클수록 압축률이 증가하지만 CPU를 많이 사용
DeflateCompressionLevel 8

</ifModule>  


설정하고 나서 해당 페이지를 호출해보자.

ex) http://WEB_IP:WEB_port/index.html


F12를 눌러 개발자 도구에서 확인할 수 있다.

[개발자도구] > [Network] > [Response Headers] > Content-Encoding: gzip 으로 확인


Image


압축을 쓰지 않을 경우 아래처럼 나온다.

Image

This post is licensed under CC BY 4.0 by the author.