Arhivă GZIP (.gz)

IETF Standard

Gzip (GZ) este utilitarul standard de compresie GNU și formatul de fișier utilizat pe scară largă în sistemele de operare Unix și pe serverele 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.

Inspectare și metadate

Sistemele de operare și analizatoarele de fișiere identifică fișierele GZ prin inspectarea secvenței binare inițiale:

Selectează sau plasează fișierele aici

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

Semnătura antetului la nivel de octet (octeți magici)

Sistemele de operare și analizatoarele de fișiere identifică fișierele GZ prin inspectarea secvenței binare inițiale:

SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):

1F 8B 08

REPREZENTARE ASCII: ..\x08

Standardizare: IETF RFC 1952

Specificații tehnice

Arhitectură containerAntet de 10 octeți (semnătura 0x1F 0x8B, metoda 8, fanioane, mtime, sistem de operare), urmat de fluxul DEFLATE și un subsol de 8 octeți
CompresieAlgoritmul DEFLATE (fereastră glisantă LZ77 și codificare Huffman)
Ordinea octețilorNumere întregi Little-Endian în antet și subsol
Spații de culoareNu se aplică (container de arhivă)
Canale și structurăFlux de octeți comprimat pentru un singur fișier
Dimensiuni maximeDimensiunea necomprimată este înregistrată modulo 2^32 (acceptă fluxuri de lungime nelimitată)
TransparențăPăstrarea datelor fără pierderi, exactă la nivel de bit
Streaming și progresivTransmitere secvențială, într-o singură trecere, prin pipe-uri și rețele HTTP

Matrice de comparație tehnică: GZ vs. concurenți

Atribut tehnicGZ (Curent)BZ2BROTLIZSTD
Viteză de decompresieRapidă (~300 MB/s)Lentă (~40 MB/s)Foarte rapidă (~400 MB/s)Extrem de rapidă (>1,5 GB/s)
Utilizare pe scară largă pe webCompatibilitate largă în browsere și pe servere; codificarea conținutului este negociată pentru fiecare solicitareFără suport în browserul webAcceptat de numeroase browsere prin HTTPS; compatibilitatea depinde de versiuneSuport în creștere în browsere și servere
Împachetare multi-fișierNecesită container TAR (.tar.gz)Necesită container TAR (.tar.bz2)Flux brut sau container personalizatNecesită container TAR (.tar.zst)
Verificare sumă de controlCRC pe 32 de biți (CRC-32)CRC pe 32 de biți per blocNiciuna încorporată în fluxxxHash 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 conținutul parțial cu „gzip -d --keep broken.gz” sau Gzip Extractor din File2File.app.

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: Impune limite stricte pentru cantitatea decomprimată și memoria disponibilă în serviciile de import automat.

Origini istorice și repere

1996IETF oficializează specificația formatului de fișier Gzip ca RFC 1952.
1993Adoptat de Proiectul GNU pentru a înlocui utilitarul Unix proprietar „compress” (fișierele .Z).
1992Jean-loup Gailly și Mark Adler creează Gzip ca unealtă de compresie fără brevete pentru mișcarea software-ului liber.

Avantaje cheie și beneficii

  • Codificare HTTP acceptată pe scară largă, deși clienții și serverele pot negocia alte codificări sau pot să nu folosească nicio compresie.
  • 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 la depășire 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.
  • Gzip rămâne o opțiune frecventă pentru comprimarea răspunsurilor web; utilizarea variază în funcție de site și răspuns.
  • 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?

Folosește File2File.app pentru a decomprima imediat fișiere .gz direct în browser, fără să instalezi programe.