Arsip GZIP (.gz)
IETF StandarGzip (GZ) adalah utilitas kompresi dan format berkas standar GNU yang digunakan luas pada sistem operasi Unix dan server web HTTP untuk mengompresi berkas dan aset web dengan cepat.
Konversi TAR ke GZ
Konverter TAR ke GZ gratis yang berjalan di peramban. Konversikan berkas secara instan di perangkat Anda.
Pemeriksaan & Metadata
Sistem operasi dan penganalisis file mengenali file GZ dengan memeriksa urutan byte biner di bagian awal:
Tanda Tangan Header per Byte (Byte Penanda)
Sistem operasi dan penganalisis file mengenali file GZ dengan memeriksa urutan byte biner di bagian awal:
TANDA TANGAN HEX (OFFSET 0):
1F 8B 08REPRESENTASI ASCII: ..\x08
Standardisasi: IETF RFC 1952
Spesifikasi Teknis
| Arsitektur Kontainer | Header 10 byte (byte penanda 0x1F 0x8B, metode 8, flag, mtime, OS), diikuti aliran DEFLATE dan footer 8 byte |
| Kompresi | Algoritma DEFLATE (jendela geser LZ77 dan kode Huffman) |
| Urutan Byte | Bilangan bulat pada header dan footer berurutan little-endian |
| Ruang Warna | Tidak berlaku (kontainer arsip) |
| Saluran & Struktur | Aliran byte terkompresi untuk satu berkas |
| Dimensi Maksimum | Ukuran tak terkompresi dicatat modulo 2^32 (panjang aliran tidak dibatasi) |
| Transparansi | Pelestarian data lossless dengan kesamaan bit 100% |
| Streaming & Progresif | Pemutaran streaming berurutan satu lintasan melalui pipe dan jaringan HTTP |
Perbandingan Teknis GZ dengan Pesaing
| Atribut Teknis | GZ (Saat Ini) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Kecepatan dekompresi | Cepat (~300 MB/s) | Lambat (~40 MB/s) | Sangat cepat (~400 MB/s) | Sangat cepat (>1.5 GB/s) |
| Penggunaan luas di web | 100% dari semua browser & server | Nol dukungan browser web | Didukung melalui HTTPS di semua browser | Dukungan browser & server yang terus meningkat |
| Pengemasan beberapa berkas | Memerlukan wadah TAR (.tar.gz) | Memerlukan wadah TAR (.tar.bz2) | Aliran mentah atau wadah kustom | Memerlukan wadah TAR (.tar.zst) |
| Verifikasi checksum | CRC 32-bit (CRC-32) | CRC 32-bit per blok | Tidak ada checksum bawaan dalam aliran | xxHash 64-bit |
Pola Kerusakan Umum dan Panduan Pemulihan Hex
Kesalahan ekstraksi: 'gzip: stdin: unexpected end of file'.
Penyebab Utama: Transfer file yang terhenti sebelum waktunya dapat memotong aliran DEFLATE atau footer CRC32 sepanjang 8 byte.
Pemulihan: Ekstrak konten yang berhasil dipulihkan sebagian menggunakan 'gzip -d --keep broken.gz' atau Ekstraktor Gzip File2File.app.
Analisis Keamanan & Vektor Serangan Parser
Pengurai Gzip memproses header yang dikendalikan pengguna dan bitstream DEFLATE yang harus dilindungi terhadap bom dekompresi.
Vektor Serangan yang Diketahui
- Bom dekompresi (zip bomb) yang mengekspansi data Gzip berukuran beberapa megabyte hingga menggunakan ratusan gigabyte ruang disk.
- Luapan buffer saat membaca string nama file asli opsional dari header.
- Limpahan bilangan bulat (integer overflow) selama perbandingan pemeriksaan CRC 32-bit.
Praktik Terbaik Defensif: Terapkan batas ketat untuk kuota dekompresi dan penggunaan memori pada layanan penerimaan data otomatis.
Asal-Usul & Tonggak Sejarah
Keunggulan & Kelebihan Utama
- Patokan universal untuk kompresi HTTP internet ('Content-Encoding: gzip') yang didukung oleh 100% klien web.
- Mempertahankan waktu modifikasi berkas asli dan, secara opsional, nama berkas asli dalam header 10 byte.
- Hanya menggunakan sedikit sumber daya CPU saat dekompresi, sehingga berjalan lancar pada perangkat seluler dan router berdaya rendah.
Keterbatasan Teknis & Kekurangan
- Kompresi file tunggal saja: tidak dapat mengompresi beberapa file atau direktori tanpa terlebih dahulu menggabungkannya ke dalam arsip TAR.
- Rasio kompresi lebih rendah daripada algoritma modern seperti Brotli dan Zstandard pada teks web modern.
- Kolom ukuran file tak terkompresi pada footer berukuran 32-bit dan menyimpan nilai modulo 2^32. Akibatnya, ukuran file di atas 4 GB dapat ditampilkan secara keliru setelah nilainya berputar kembali.
Fakta Teknis Menarik
- Byte penanda 0x1F 0x8B dipilih karena 0x1F secara historis merupakan byte pertama berkas 'compress' Unix, sedangkan 0x8B menandai Gzip.
- Lebih dari 80% situs web di internet menggunakan kompresi Gzip untuk mengirimkan halaman web ke browser.
- Jean-loup Gailly menulis kode kompresi sementara Mark Adler menulis kode dekompresi (inflate); keduanya menerima Penghargaan Sistem Perangkat Lunak ACM.
Pertanyaan Teknis yang Sering Diajukan
Mengapa saya tidak dapat mengompresi folder dengan Gzip?
Gzip dirancang untuk mengompresi satu aliran byte saja. Untuk mengompresi folder, sistem Unix terlebih dahulu menggabungkan folder tersebut menjadi satu file .tar, lalu mengompresinya dengan Gzip untuk membuat file .tar.gz.
Apa perbedaan antara .gz dan .zip?
.zip adalah format arsip yang mengemas beberapa file menjadi satu beserta indeks direktori. .gz hanya mengompresi satu file dan biasanya dipasangkan dengan tar pada sistem Unix.
Bagaimana cara mendekompresi file .gz di Windows atau Mac?
Gunakan File2File.app untuk langsung mendekompresi file .gz di peramban web Anda tanpa perlu menginstal perangkat lunak apa pun.
Pasangan Konversi GZ Terkait
Mengonversi arsip TAR ke arsip GZIP membungkus kumpulan file yang tidak dikompresi menjadi satu aliran terkompresi menggunakan algoritme DEFLATE tanpa kehilangan data untuk mengurangi ukuran file secara drastis.
Ekstrak data TAR dari arsip TAR terkompresi GZIP, seperti .tar.gz atau .tgz.