Arhivă GZIP (.gz)
IETF StandardGzip (GZ) este utilitarul standard de compresie GNU și formatul de fișier implementat universal în sistemele de operare Unix și serverele web HTTP pentru compresia rapidă a fișierelor și a activelor web.
Convertește din TAR în GZ
Convertor gratuit din TAR în GZ direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.
Inspectează și Metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele GZ prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (Magic Bytes)
Sistemele de operare și analizatoarele de fișiere identifică fișierele GZ prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEX (OFFSET 0):
1F 8B 08REPREZENTARE ASCII: ..\x08
Standardizare: IETF RFC 1952
Specificații tehnice
| Arhitectură container | 10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer |
| Compresie | DEFLATE algorithm (LZ77 sliding window + Huffman coding) |
| Endianitatea octeților | Little-Endian header and footer integers |
| Spații de culoare | N/A (Archive Container) |
| Canale și structură | Single-file compressed byte stream |
| Dimensiuni maxime | Uncompressed size recorded modulo 2^32 (supports unbounded stream lengths) |
| Transparență | 100% bit-exact lossless data preservation |
| Streaming și progresiv | Sequential single-pass streaming playback over pipes and HTTP networks |
Matrice de comparație tehnică: GZ vs Competitori
| Atribut tehnic | GZ (Curent) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Viteză de decompresie | Rapidă (~300 MB/s) | Lentă (~40 MB/s) | Foarte rapidă (~400 MB/s) | Extrem de rapidă (>1,5 GB/s) |
| Adopție web universală | 100% din browsere și servere | Fără suport în browserul web | Suportat prin HTTPS în toate browserele | Suport în creștere în browsere și servere |
| Împachetare multi-fișier | Necesită container TAR (.tar.gz) | Necesită container TAR (.tar.bz2) | Flux brut sau container personalizat | Necesită container TAR (.tar.zst) |
| Verificare sumă de control | CRC pe 32 de biți (CRC-32) | CRC pe 32 de biți per bloc | Niciuna încorporată în flux | xxHash pe 64 de biți |
Moduri comune de corupție și ghid de recuperare hexazecimală
Eroare de extragere: „gzip: stdin: unexpected end of file".
Cauză principală: Terminarea prematură a transferului de fișier întrerupe fluxul DEFLATE sau subsolul CRC32 de 8 octeți.
Recuperare: Extrageți conținutul parțial folosind „gzip -d --keep broken.gz" sau File2File Gzip Extractor.
Analiză de securitate și vectori de atac asupra parserului
Analizoarele Gzip procesează antete controlate de utilizator și fluxuri de biți DEFLATE care trebuie protejate împotriva bombelor de decompresie.
Vectori de atac cunoscuți
- Bombă de decompresie (zip bomb) care extinde megaocteți de date Gzip în sute de gigaocteți de spațiu pe disc.
- Depășire de buffer (buffer overflow) la citirea șirului opțional cu numele de fișier original din antet.
- Depășire de întregi în timpul comparației de verificare CRC pe 32 de biți.
Cele mai bune practici de securitate:
Origini istorice și repere
Avantaje cheie și beneficii
- Punctul de referință universal pentru compresia HTTP pe internet („Content-Encoding: gzip") acceptat de 100% dintre clienții web.
- Păstrează marcajele temporale originale de modificare a fișierului și numele de fișier originale opționale în antetul de 10 octeți.
- Amprentă CPU ușoară în timpul decompresiei, rulând fluent pe dispozitive mobile cu consum redus de energie și pe routere.
Limitări tehnice și dezavantaje
- Compresie doar pentru fișiere individuale: nu poate comprima mai multe fișiere sau directoare fără a le împacheta mai întâi într-un container TAR.
- Rata de compresie este mai mică decât cea a algoritmilor moderni precum Brotli și Zstandard pe textul web modern.
- Câmpul pentru dimensiunea necomprimată din subsol este pe 32 de biți modulo 2^32, cauzând erori de afișare prin rulare (rollover) la fișiere mai mari de 4 GB.
Curiozități tehnice interesante
- Octeții magici 0x1F 0x8B au fost aleși deoarece 0x1F era istoric primul octet al fișierelor „compress" din Unix, în timp ce 0x8B identifica Gzip.
- Peste 80% dintre toate site-urile web de pe internet utilizează compresia Gzip pentru a livra pagini web browserelor.
- Jean-loup Gailly a scris codul de compresie, în timp ce Mark Adler a scris codul de decompresie (inflate); amândoi au primit Premiul ACM pentru Sisteme Software.
Întrebări tehnice frecvente
De ce nu pot comprima un folder cu Gzip?
Gzip a fost conceput pentru a comprima un singur flux de octeți. Pentru a comprima un folder, sistemele Unix împachetează mai întâi folderul într-un singur fișier .tar, apoi îl comprimă cu Gzip pentru a crea un fișier .tar.gz.
Care este diferența dintre .gz și .zip?
.zip este un format de arhivă care împachetează mai multe fișiere împreună cu un index de director. .gz comprimă un singur fișier și este asociat în mod obișnuit cu tar pe sistemele Unix.
Cum pot dezarhiva un fișier .gz pe Windows sau Mac?
Folosiți File2File.app pentru a dezarhiva instantaneu fișiere .gz direct în browserul web, fără a instala nicio aplicație.
Perechi de conversie GZ conexe
Conversia unei arhive TAR într-o arhivă GZIP împachetează o colecție de fișiere necomprimate într-un singur flux comprimat, utilizând algoritmul fără pierderi DEFLATE pentru a reduce dramatic dimensiunea fișierului.
Conversia unui fișier comprimat GZIP într-o arhivă TAR elimină stratul de compresie pentru a expune colecția brută, necomprimată, de fișiere și foldere.