Arsip GZIP (.gz)

IETF Standar

Gzip (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:

Pilih atau letakkan berkas di sini

Privat - file tidak pernah meninggalkan perangkat Anda

atau tempel Ctrl+V
Jaminan Privasi Tanpa Transmisi Jaringan: 0 byte diunggah ke server eksternal. Semua pemrosesan berlangsung secara lokal di sandbox browser Anda.

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 08

REPRESENTASI ASCII: ..\x08

Standardisasi: IETF RFC 1952

Spesifikasi Teknis

Arsitektur KontainerHeader 10 byte (byte penanda 0x1F 0x8B, metode 8, flag, mtime, OS), diikuti aliran DEFLATE dan footer 8 byte
KompresiAlgoritma DEFLATE (jendela geser LZ77 dan kode Huffman)
Urutan ByteBilangan bulat pada header dan footer berurutan little-endian
Ruang WarnaTidak berlaku (kontainer arsip)
Saluran & StrukturAliran byte terkompresi untuk satu berkas
Dimensi MaksimumUkuran tak terkompresi dicatat modulo 2^32 (panjang aliran tidak dibatasi)
TransparansiPelestarian data lossless dengan kesamaan bit 100%
Streaming & ProgresifPemutaran streaming berurutan satu lintasan melalui pipe dan jaringan HTTP

Perbandingan Teknis GZ dengan Pesaing

Atribut TeknisGZ (Saat Ini)BZ2BROTLIZSTD
Kecepatan dekompresiCepat (~300 MB/s)Lambat (~40 MB/s)Sangat cepat (~400 MB/s)Sangat cepat (>1.5 GB/s)
Penggunaan luas di web100% dari semua browser & serverNol dukungan browser webDidukung melalui HTTPS di semua browserDukungan browser & server yang terus meningkat
Pengemasan beberapa berkasMemerlukan wadah TAR (.tar.gz)Memerlukan wadah TAR (.tar.bz2)Aliran mentah atau wadah kustomMemerlukan wadah TAR (.tar.zst)
Verifikasi checksumCRC 32-bit (CRC-32)CRC 32-bit per blokTidak ada checksum bawaan dalam aliranxxHash 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

1996IETF meresmikan spesifikasi format file Gzip sebagai RFC 1952.
1993Diadopsi oleh Proyek GNU untuk menggantikan utilitas Unix 'compress' yang tertutup (file .Z).
1992Jean-loup Gailly dan Mark Adler membuat Gzip sebagai alat kompresi bebas paten untuk gerakan perangkat lunak bebas.

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.