Gzip dan Deflate adalah algoritma kompresi yang mengecilkan ukuran data, tetapi hasilnya berupa biner, bukan teks. Jika data terkompresi ini perlu melewati kanal yang dirancang untuk teks (URL, cookie, kolom JSON), data tersebut juga dienkode dengan Base64 — karena itulah muncul pasangan "Gzip/Deflate ↔ Base64", yang sering dipakai alat berbagi status aplikasi lewat tautan.
Mengapa reduplikasi bahasa Indonesia mudah dikompresi
Bahasa Indonesia punya ciri khas tata bahasa berupa reduplikasi — kata diulang penuh untuk membentuk makna baru, seperti "jalan-jalan", "buku-buku", atau "sayur-mayur". Pengulangan literal semacam ini adalah target sempurna bagi algoritma Deflate, yang bekerja dengan mengganti pola berulang dengan referensi yang jauh lebih pendek, sehingga teks bahasa Indonesia yang banyak memakai reduplikasi bisa terkompresi sangat efisien.
Urutan operasi yang umum
- Teks asli dikompresi dengan Gzip atau Deflate — ukurannya mengecil.
- Hasil biner yang terkompresi dienkode dengan Base64 — ukurannya sedikit membesar kembali, tetapi datanya menjadi teks.
- String hasilnya dikirim dengan aman melalui kanal teks.
Mendekode berjalan dalam urutan terbalik: pertama Base64 → data biner, lalu dekompresi Gzip/Deflate → teks asli.
Kasus penggunaan umum
- Mengemas seluruh status sebuah aplikasi ke dalam URL agar tautan yang dibagikan membuka tampilan yang persis sama.
- Menyimpan data terkompresi dalam cookie atau kolom teks basis data.
- Debugging: membongkar dan membaca konten yang dienkode dengan cara ini oleh sistem pihak ketiga atau API.
Gzip vs Deflate "mentah"
Gzip sebenarnya adalah format pembungkus di sekitar algoritma Deflate: ia menambahkan header sendiri dan checksum (CRC32) di atas data yang terkompresi. Deflate "mentah" tidak memiliki byte tambahan ini, sehingga hasilnya sedikit lebih kecil, tetapi tidak dapat dibongkar oleh utilitas gzip tanpa secara eksplisit menyatakan bahwa itu adalah format raw. Kebingungan antara kedua varian ini adalah penyebab umum error "invalid header" saat mencoba membongkar data.