https://httpd.apache.org/docs/2.4/ko/mod/mod_deflate.html

샘플

# 이미지를 제외한 모든 것을 압축
<Location />
    # 필터를 추가한다
    SetOutputFilter DEFLATE
 
    # 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
 
    # 주의: 아파치 2.0.48까지 mod_setenvif의 버그때문에
    # 위의 정규표현식은 동작하지 않는다. 원하는 효과를
    # 얻기위해 다음과 같이 수정하여 사용한다:
    BrowserMatch \\bMSI[E] !no-gzip !gzip-only-text/html
 
    # 이미지를 압축하지 않는다
    SetEnvIfNoCase Request_URI \\.(?:gif|jpe?g|png)$ no-gzip dont-vary
 
    # 프록시가 잘못된 내용을 전달하지않도록 한다
    Header append Vary User-Agent env=!dont-vary
</Location>

출력 압축하기

SetOutputFilter DEFLATE
  
# 특정 MIME 타입에 압축 적용
<Directory "/my/path">
    AddOutputFilterByType DEFLATE text/html
</Directory>

출력 압축풀기

만약 gzip을 압축된 내용을 풀어서 전달해야할 경우가 있다면, SetOutputFilter나 AddOutputFilter 를 사용하여 출력필터에 INFLATE 필터를 적용

# example.com이 보낸 gzip으로 압축된 내용을 풀어서 다른 필터가 더 처리할수 있음
<Location /my/non-gzip-output>
    ProxyPass <http://example.com/>
    SetOutputFilter INFLATE
</Location>

입력 압축풀기

gzip으로 압축된 응답 내용을 품

<Location /my/non-gzip-input>
    SetInputFilter DEFLATE
</Location>

프록시 서버 다루기