[WP] Gzip 압축 vs Brotli 압축: 2개 압축 알고리즘 차이점

워드프레스 CMS를 비롯한 웹 사이트를 빠르게 만들기 위해, 서버에서 데이터를 압축하는 설정을 하는 것이 유용합니다. 이렇게 하면 웹 서버와 브라우저 간에 전송되는 데이터를 더욱 빠르게 로딩할 수 있으며, 웹 사이트의 속도를 더 빠르게 만들어 줍니다. 이는 웹사이트를 운영하는 관리자들이 많이 고려하는 요소 중 하나입니다. gzip 압축은 많이 사용되고 있으며, 많은 웹 서버에서 gzip에서 점차 Brotli 압축으로 변경되고 늘어나는 추세입니다.

1. 압축이란?

사이트 URL에 접속하면, 브라우저와 서버 간에 대화가 시작됩니다. 이때 브라우저는 서버에게 콘텐츠의 압축(Compression)을 해제할 수 있는지와, 어떤 압축 알고리즘을 사용하는지에 대한 정보를 전달합니다. 이는 서버가 압축 된 데이터를 전송할 때, 브라우저가 이를 올바르게 해제할 수 있도록 돕는 역할을 합니다. 따라서 압축 알고리즘을 지원하는 서버와 브라우저를 사용하면, 웹 사이트의 로딩 속도를 더욱 빠르게 할 수 있습니다.

데이터 압축

웹 브라우저는 서버에 접속하면 gzip 압축 or Brotli 압축과 같은 헤더를 보내게 됩니다. 둘 중 하나의 압축된 데이터가 브라우저에 출력되며 압축된 데이터는 압축되지 않은 데이터보다 빠르게 로딩됩니다.

Content-encoding: gzip
Content-encoding: br
압축되는 파일은 주로 텍스트입니다.
· HTML
· CSS
· JavaScript

2. Gzip 압축이란?

웹 호스팅 업체에서 많이 사용하는 일반적인 압축 알고리즘은 Gzip과 Brotli입니다. Gzip은 1992년에 베타 버전이 만들어 졌으며, 1993녀에 1.0 버전이 릴리스 되었습니다. 보통 Gzip이란 인터넷에서 데이터를 전송할 때 압축을 하기 위한 표준 압축 방법 중 하나입니다. 이 방법은 초기 압축 알고리즘인 DEFLATE 압축을 기반으로 하며, 이전에 개발된 Unix의 파일 압축 프로그램인 gzip에서 이름을 따온 것입니다.

Gzip 파일

DEFLATE 압축은 LZ77(Lempel-Ziv 1977) 알고리즘과 Huffman 코딩 방식을 결합한 압축 방식입니다. LZ77은 중복되는 데이터를 검색하여 일치하는 문자열을 찾고, 그 문자열을 코드로 대체함으로써 압축을 수행합니다. Huffman 코딩 방식은 각 문자의 등장 빈도를 이용하여 가장 짧은 비트 코드를 할당하는 방식으로 압축을 수행합니다.

Gzip은 DEFLATE 압축 방식을 이용하여 데이터를 압축하고, HTTP 요청 및 응답에서 ‘Accept-Encoding: gzip’ 헤더를 사용하여 클라이언트가 Gzip 압축을 지원하는 경우에만 압축을 수행하도록 합니다. 이를 통해 데이터 압축을 실행하여 웹 사이트의 로딩 속도를 향상시킬 수 있습니다.

3. 브로틀리 압축이란?

브로틀리 압축은 2013년 Google 직원 Jyrki Alakuijala와 Zoltán Szabadka가 개발했습니다.

Brotli 압축

Gzip은 원래 파일을 압축하기 위한 것이었지만, 웹에서도 사용할 수 있도록 변경되었습니다. 반면, 브로틀리 압축은 웹에서 사용할 목적으로 개발되었습니다. 따라서, Brotli를 사용하면 웹 서버가 콘텐츠를 브라우저로 전송하기 전에 압축할 수 있습니다. 브라우저로 스트리밍 되기 전에 압축되기 때문에 더 나으며 발전된 방식입니다.

Brotli 압축은 다음과 같은 GZIP 압축과 동일한 LZ77과 Huffman 코딩 방식 두 가지의 핵심 기본 기술을 사용합니다.

4. Gzip 압축 Vs Brotli 압축

Gzip과 Brotli 모두 DEFLATE 방식을 사용하여 데이터를 압축(& 압축 해제)합니다.

Gzip 압축 vs 브로틀리 압축 비교하기
  • Gzip이 Brotli보다 압축 속도가 더 빠릅니다.
  • Brotli는 웹 전용으로 설계되었습니다.
  • Brotli는 모든 압축 수준에서 더 나은 압축률(즉, 더 작은 압축 파일 생성)을 제공합니다.
  • Brotli는 Gzip보다 3가지 파일의 압축률이 각각 HTML 21%, CSS 17%, JavaScript 14% 더 좋습니다.

Gzip보다 Brotli를 선호하는 웹 서버가 점점 많아지고 있는 추세입니다. Brotli는 스트림을 즉시 압축하도록 설계되었기 때문에 Gzip에 비해 전체 프론트 엔드 압축 해제 속도가 최대 64% 더 빠른 것으로 알려져 있습니다.


HTML, CSS, JavaScript와 같은 파일 압축으로 웹 사이트 최적화 과정에 대해 알아 봤습니다. 웹 사이트의 속도 개선을 위해 파일 압축과 이미지 최적화는 필수 요소 중 하나라고 할 수 있습니다.

Similar Posts

  • [WP] 2023년 WP-Rocket Vs WP-Optimize 비교

    WP-Rocket과 WP-Optimize는 워드프레스에서 인기 있는 캐시 플러그인입니다. 캐시 플러그인은 방문자가 WordPress 웹사이트에 방문할 때마다 페이지를 더 빠르게 제공하기 위해 페이지를 저장합니다. 사이트 로딩 속도를 빠르게 하기 위해 캐싱 플러그인이 필요한 경우가 많습니다. 브라우저 캐싱 및 Gzip 압축, 캐시 preloading, 이미지 WebP 파일 변환 등 많은 기술을 필요로 합니다. 2023년 WP-Rocket Vs WP-Optimize 각각의…

  • 엔바토 엘리먼트란? $16.5 정기구독으로 2천여개 워드프레스 테마와 플러그인 사용

    엔바토 엘리먼트envato Elements는 스톡 비디오, 비디오, 음악과 음향효과, 그래픽, 사진, 글꼴을 정기구독으로 무제한 사용할 수 있는 서비스입니다. 그리고 워드프레스 테마와 플러그인, 드루팔, 줌라, 고스트 등의 CMS 템플릿 등을 사용할 수 있습니다. 이 모든 서비스는 $16.50 금액으로 크리에이트브 구독을 할 수 있습니다. 목차1. 압축이란?2. Gzip 압축이란?3. 브로틀리 압축이란?4. Gzip 압축 Vs Brotli 압축 1….

  • WP OPcache 플러그인

    PHP 5.5 이상 버전의 서버에서는 OPcache가 기본적으로 설치되어 있으며, 활성화되어 있는 경우가 많습니다. 플러그인이 많지 않은 간단한 워드프레스 사이트에서는 큰 차이를 느끼기 어려울 수도 있지만, OPcache는 전체적인 사이트 속도를 평균 3배 이상 향상시키며, 특히 중대형 사이트일수록 그 효과가 더욱 뚜렷하게 나타납니다. 서버에 설치만 되어 있다면 기본적으로 작동하지만, OPcache를 직접 관리하고 통제하고 싶다면 ‘WP…

  • [WP]워드프레스 댓글 비활성화 방법 3가지

    워프프레스 블로그를 운영하다 보면 해외에서 많은 스팸 댓글이 달릴 때가 많습니다. 댓글을 스팸 및 삭제하기 전에 달린 댓글들은 DB 용량을 차지해서 서버의 리소스를 잡아 먹습니다. 커뮤니티 or 전자상거래 목적의사이트가 아니라면 ‘워드프레스 댓글 비활성화’를 설정을 해 놓는 것이 옳은 결정입니다. 목차1. 압축이란?2. Gzip 압축이란?3. 브로틀리 압축이란?4. Gzip 압축 Vs Brotli 압축 1. 워드프레스 댓글…

  • [WP] 가성비 해외 호스팅: 네임칩 VS 호스팅어 비교

    해외에서 매니지드 워드프레스 호스팅을 사용하는 분들이 늘어나고 있습니다. 이번에는 가성비 해외 호스팅 업체 중 호스팅어Hostinger와 네임칩NameCheap 2군데를 비교해 보겠습니다. 호스팅과 도메인 가격, 서비스 등의 전반적인 내용을 위주로 비교해 보겠습니다. 어느 정도 웹 사이트의 트래픽이 발생해서 국내에서 대역폭으로 고민하는 경우 클라우드플레어 무료CDN과 함께 사용한다면 사용 중인 국내 호스팅 업체의 서버 업데이트를 통한 비용과 비슷한…

  • [WP] 워드프레스 htaccess 기본 설정 및 WWW URL 제거 방법

    워드프레스로 사이트를 운영하는 중에 .htaccess 파일 기본 설정이 필요할 때가 있습니다. 워드프레스 htaccess 기본 설정은 일반 사이트와 멀티 사이트 용으로 나뉩니다. FTP 또는 SSH 등으로 .htaccess 파일이 없는 경우 확인이 되면 아래 내용을 참조해서 생성하면 되겠습니다. 목차1. 압축이란?2. Gzip 압축이란?3. 브로틀리 압축이란?4. Gzip 압축 Vs Brotli 압축✅ 워드프레스 htaccess 기본 설정: 일반 사이트…