우분투 서버 14.04 LTS 에서 설치한 아파치 Apache/2.4.7 는 웹컨텐츠를 압축하기 위해서 mod_deflate 를 사용한다. 기본적으로 활성화 되어 있고, 웹에서 사용하는 일반적인 파일들은 미리 정의가 되어 있기 때문에 그냥 쓰는 일이 많지만, 웹컨텐츠 중에서 좀 특수한 파일이 있을 경우에는 압축이 되지 않는 경우가 있다.
나 같은 경우에는 워드프레스 젯팩을 설치했는데 그 안에 Genericons.svg 라는 파일이 압축이 되고 있지 않았다. 이 파일은 텍스트 파일로 78Kb 나 되는 사이즈를 가지고 있다.
이 사실은 구글의 PageSpeed Insights 에서 알게 되었다. 운영중인 사이트/블로그의 속도를 개선하기 위해서 쓰면 좋을듯하니 이용해보자.
각설하고, svg 라는 확장자를 가진 이 파일을 아파치에서 압축하는 방법을 알아보자.
deflate.conf 파일 수정
위에서 아파치에서 압축은 mod_deflate 을 사용한다고 했다. 이 모듈의 설정 파일은 deflate.conf 이고 이 파일은 /etc/apache2/mods-enabled 에 있다. 열어서 수정하도록 하자.
1 |
sudo vi /etc/apache2/mods-enabled/deflate.conf |
파일을 열어보면
1 |
AddOutputFilterByType DEFLATE text/html text/plain text/xml |
이렇게 mime type 로 압축 송신할 파일들을 정의해 둔 것을 볼 수 있다.
svg 파일의 mime type 을 알아보기 위해서는 아래 파일을 참조하자.
1 |
vi /etc/mime.types |
vi 에서 / 키로 검색 모드로 들어가서 svg 를 입력하면 아래와 같이 mime type 이 image/svg+xml 이라는 것을 확인할 수 있다.
1 |
image/svg+xml svg svgz |
다시 deflate.conf 파일로 돌아가서 아래와 같이 압축할 파일의 정의를 추가한다.
1 |
AddOutputFilterByType DEFLATE image/svg+xml |
설정을 적용시키기 위해서는 아파치 재기동이 필요하다.
1 |
sudo service apache2 restart |
PageSpeed Insights 에서 다시 확인한 결과 압축이 적용되어 압축 사용 항목이 통과 되어 있다.