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