Loncat ke konten utama

Gzip dan Brotli

Diperbarui: 29 Oktober 2026
By Willya Randika

Gzip dan Brotli adalah metode kompresi untuk respons berbasis teks seperti HTML, CSS, JavaScript, JSON, dan SVG. Keduanya mengurangi jumlah byte yang dikirim ke browser. Gambar JPEG, PNG, WebP, dan video sudah terkompresi, jadi biasanya tidak perlu dikompresi lagi.

Beda singkat

MetodeRasioDukunganCatatan
GzipBaikHampir semua browser dan serverKompresi cepat, cocok sebagai fallback
BrotliLebih baik untuk teksBrowser modernEncoding lebih lambat, tetapi hasil lebih kecil

Brotli sering memberi penghematan 15 sampai 20 persen lebih baik daripada gzip pada file teks. Namun selisihnya tergantung jenis konten. Untuk file yang sangat kecil, overhead header bisa lebih besar daripada penghematan.

Cara mengaktifkan

Di Nginx, aktifkan gzip on; dan tambahkan brotli on; kalau modul Brotli tersedia. Di Apache, gunakan mod_deflate untuk gzip dan mod_brotli untuk Brotli. Di CDN, biasanya ada opsi kompresi otomatis yang menangani negosiasi Accept-Encoding.

Setelah aktif, cek header respons. `curl -H 'Accept

  • Encoding: br,gzip' -I https://contoh.com` akan menunjukkan content-encoding: br atau gzip. Kalau header tidak muncul, periksa apakah file dilayani oleh server, CDN, atau aplikasi yang berbeda.

Yang perlu diperhatikan

Jangan mengompresi file yang sudah terkompresi seperti JPEG, PNG, WebP, MP4, dan ZIP. Kompresi ulang hanya membuang CPU tanpa penghematan berarti. Untuk API yang mengembalikan JSON besar, kompresi sangat membantu. Untuk respons yang sangat kecil, manfaatnya kecil.

Kompresi juga menambah penggunaan CPU. Di server dengan trafik tinggi, ukur dampaknya sebelum menaikkan level kompresi. Untuk aset statis, biarkan CDN atau server yang menangani, bukan aplikasi PHP.

Pastikan cache menyimpan respons terkompresi dengan benar. Jika Anda memakai CDN, periksa Vary: Accept-Encoding agar cache tidak menyajikan respons Brotli ke klien yang hanya mendukung gzip.

Konteks

Kompresi mengurangi ukuran transfer, tetapi tidak mengurangi waktu render. Untuk mempercepat halaman, kombinasikan dengan Browser Cache, CDN, dan perbaikan Core Web Vitals. Untuk konfigurasi server, lihat Web Server.

Untuk aset statis, kompresi saat build lebih hemat CPU daripada kompresi saat request. Nginx bisa memakai gzip_static on; dan brotli_static on; untuk menyajikan file .gz atau .br yang sudah dibuat. Pastikan pipeline build menghasilkan kedua versi dan cache menyimpan header yang benar. Untuk aplikasi dinamis, biarkan server atau reverse proxy menangani kompresi agar kode aplikasi tetap sederhana.

FAQ

Apakah Brotli selalu lebih baik dari gzip?

Untuk teks, biasanya lebih kecil. Tetapi encoding lebih lambat dan tidak semua klien mendukung. Sediakan gzip sebagai fallback.

Apakah gambar perlu dikompresi dengan gzip?

Tidak. Format gambar modern sudah terkompresi. Kompresi HTTP pada gambar biasanya hanya membuang CPU.

Mengapa content-encoding tidak muncul?

Periksa apakah respons dilayani dari cache, CDN, atau server yang belum mengaktifkan kompresi. Cek juga header Accept-Encoding yang dikirim klien.

Disclaimer: Artikel WikiHosting disusun untuk tujuan edukasi dan referensi. Teknologi hosting terus berkembang, sehingga beberapa informasi teknis mungkin berubah seiring waktu.