HTTP 압축
HTTP 압축은 웹 서버가 반환하는 데이터를 클라이언트에 전송하기 전에 GZIP 형식으로 압축하여 트래픽을 줄이는 HTTP 통신 기술입니다. GZIP 인코딩 또는 GZIP 압축이라고도 하는 이 방식은 HTTP/1.1 클라이언트와 호환됩니다.
HTTP 압축이란 무엇인가요?
HTTP/1.1 이하 버전에서는 일반적으로 웹 서버가 HTML, CSS, JavaScript와 같은 파일을 일반 텍스트로 클라이언트에 전송합니다. 이러한 파일에는 반복되는 문자열이나 패턴이 포함되는 경우가 많으므로 GZIP 압축이 매우 효과적이며, 데이터 크기를 크게 줄이고 웹 애플리케이션의 성능을 향상시킵니다. 하지만 JPEG 이미지나 PDF처럼 이미 압축된 데이터 형식은 HTTP 압축의 효과가 거의 없거나 전혀 없을 수 있으며, 경우에 따라서는 오히려 크기가 커질 수도 있습니다.
Apache를 사용하는 서버에서는 mod_deflate 모듈을 통해 HTTP 압축을 구현할 수 있습니다. 하지만 압축을 활성화하면 CPU 사용량이 증가하므로 이미 부하가 높은 서버에서는 응답 시간이 느려질 수 있습니다. 이러한 문제를 방지하려면 서버와 클라이언트 사이에 ADC(Application Delivery Controller)를 배치하여 HTTP 압축을 처리하는 것이 더 효과적입니다. 예를 들어, F5 BIG-IP에는 트래픽을 최적화하는 HTTP 압축 기능이 기본으로 제공됩니다.

