Archivio GZIP (.gz)

IETF Standard

Gzip (GZ) è l'utilità e il formato di file di compressione GNU standard, distribuito su sistemi operativi Unix e server web HTTP per la compressione rapida di file e risorse web.

Converti da TAR a GZ

Convertitore gratuito da TAR a GZ nel browser. Converti i file istantaneamente sul tuo dispositivo.

Ispezione e metadati

I sistemi operativi e gli analizzatori di file identificano i file GZ ispezionando la sequenza di byte binari iniziale:

Seleziona o rilascia i file qui

Privato - i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

Firma dell'intestazione a livello di byte (Magic Bytes)

I sistemi operativi e gli analizzatori di file identificano i file GZ ispezionando la sequenza di byte binari iniziale:

FIRMA ESADECIMALE (OFFSET 0):

1F 8B 08

RAPPRESENTAZIONE ASCII: ..\x08

Standardizzazione: IETF RFC 1952

Specifiche tecniche

Architettura del contenitoreIntestazione di 10 byte (magic 0x1F 0x8B, metodo 8, flag, mtime, OS) seguita dallo stream DEFLATE e da un piè di pagina di 8 byte
CompressioneAlgoritmo DEFLATE (finestra scorrevole LZ77 + codifica di Huffman)
Endianness dei byteInteri nell'intestazione e nel piè di pagina in formato little-endian
Spazi coloreN/A (Contenitore di Archiviazione)
Canali e strutturaFlusso di byte compressi a file singolo
Dimensioni massimeDimensione non compressa registrata modulo 2^32 (supporta lunghezze di stream illimitate)
TrasparenzaConservazione dei dati senza perdita, identica bit per bit
Streaming e progressivoRiproduzione in streaming sequenziale a passaggio singolo su pipe e reti HTTP

Matrice di confronto tecnico: GZ vs Concorrenti

Attributo tecnicoGZ (Attuale)BZ2BROTLIZSTD
Velocità di decompressioneVeloce (~300 MB/s)Lenta (~40 MB/s)Molto veloce (~400 MB/s)Ultra-veloce (>1.5 GB/s)
Ampio utilizzo sul Web100% di tutti i browser e serverNessun supporto nei browser webSupportato tramite HTTPS in tutti i browserSupporto crescente su browser e server
Raggruppamento di più fileRichiede un contenitore TAR (.tar.gz)Richiede un contenitore TAR (.tar.bz2)Stream grezzo o contenitore personalizzatoRichiede un contenitore TAR (.tar.zst)
Verifica del checksumCRC a 32 bit (CRC-32)CRC a 32 bit per bloccoNessun checksum integrato nel flussoxxHash a 64 bit

Modalità di corruzione comuni e guida al recupero esadecimale

Errore di estrazione: 'gzip: stdin: unexpected end of file'.

Causa principale: Terminazione prematura del trasferimento del file che interrompe lo stream DEFLATE o il piè di pagina CRC32 di 8 byte.

Ripristino: Estrarre i contenuti parziali utilizzando 'gzip -d --keep broken.gz' o File2File.app Gzip Extractor.

Analisi di sicurezza e vettori di attacco del parser

I parser Gzip elaborano intestazioni controllate dall'utente e flussi di bit DEFLATE, che vanno protetti dagli attacchi con bombe di decompressione.

Vettori di attacco noti

  • Bomba di decompressione (zip bomb) che espande megabyte di dati Gzip in centinaia di gigabyte di spazio su disco.
  • Buffer overflow durante la lettura della stringa opzionale del nome file originale dall'intestazione.
  • Overflow degli interi durante il confronto del checksum CRC a 32 bit.

Migliori pratiche difensive: Imporre limiti rigorosi alla decompressione e alla memoria nei servizi di acquisizione automatica.

Origini storiche e tappe fondamentali

1996L'IETF formalizza la specifica del formato di file Gzip come RFC 1952.
1993Adottato dal Progetto GNU per sostituire l'utilità proprietaria Unix 'compress' (file .Z).
1992Jean-loup Gailly e Mark Adler creano Gzip come strumento di compressione privo di brevetti per il movimento del software libero.

Vantaggi principali

  • Il punto di riferimento universale per la compressione HTTP sul web ('Content-Encoding: gzip') supportato dal 100% dei client web.
  • Conserva i timestamp di modifica originali del file e i nomi file originali opzionali all'interno dell'intestazione di 10 byte.
  • Impatto ridotto sulla CPU durante la decompressione, eseguendosi fluidamente su dispositivi mobili a basso consumo e router.

Limiti tecnici e svantaggi

  • Compressione a file singolo: non è possibile comprimere più file o directory senza prima raggrupparli in un contenitore TAR.
  • Il rapporto di compressione è inferiore rispetto agli algoritmi moderni come Brotli e Zstandard sui testi web moderni.
  • Il campo della dimensione non compressa nel piè di pagina è a 32 bit modulo 2^32, quindi i file più grandi di 4 GB possono essere visualizzati con una dimensione errata.

Curiosità tecniche

  • I byte magici 0x1F 0x8B sono stati scelti perché 0x1F era storicamente il primo byte dei file 'compress' di Unix, mentre 0x8B identificava Gzip.
  • Oltre l'80% di tutti i siti web su Internet utilizza la compressione Gzip per consegnare le pagine web ai browser.
  • Jean-loup Gailly ha scritto il codice di compressione mentre Mark Adler ha scritto il codice di decompressione (inflate); entrambi hanno ricevuto il premio ACM Software System Award.

Domande tecniche frequenti

Perché non posso comprimere una cartella con Gzip?

Gzip è stato progettato per comprimere un singolo flusso di byte. Per comprimere una cartella, i sistemi Unix prima raggruppano la cartella in un singolo file .tar, quindi la comprimono con Gzip per creare un file .tar.gz.

Qual è la differenza tra .gz e .zip?

.zip è un formato di archivio che raggruppa più file insieme a un indice delle directory. .gz comprime un singolo file ed è comunemente usato insieme a tar sui sistemi Unix.

Come posso decomprimere un file .gz su Windows o Mac?

Usa File2File.app per decomprimere istantaneamente i file .gz direttamente nel tuo browser web senza alcuna installazione di software.