Archive GZIP (.gz)
IETF StandardGzip (GZ) est l'utilitaire de compression standard du projet GNU et un format de fichier largement utilisé sur les systèmes Unix et les serveurs HTTP pour compresser rapidement des fichiers et des ressources web.
Convertir TAR en GZ
Outil de conversion gratuit de TAR vers GZ dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.
Inspection et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers GZ en inspectant leur séquence initiale d'octets binaires :
Signature d'en-tête au niveau des octets (octets magiques)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers GZ en inspectant leur séquence initiale d'octets binaires :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
1F 8B 08REPRÉSENTATION ASCII : ..\x08
Normalisation : IETF RFC 1952
Spécifications techniques
| Architecture de conteneur | En-tête de 10 octets (signature 0x1F 0x8B, méthode 8, drapeaux, mtime, OS) suivi du flux DEFLATE et d'une fin de 8 octets |
| Compression | Algorithme DEFLATE (fenêtre glissante LZ77 + codage de Huffman) |
| Ordre des octets | Entiers de l'en-tête et de la fin encodés en petit-boutiste |
| Espaces colorimétriques | N/A (Conteneur d'archive) |
| Canaux et structure | Flux d'octets compressé contenant un seul fichier |
| Dimensions maximales | Taille non compressée enregistrée modulo 2^32 (prend en charge des longueurs de flux illimitées) |
| Transparence | Préservation des données sans perte, bit à bit |
| Prise en charge du traitement en continu | Lecture en continu, séquentielle et en une seule passe, via des canaux et des réseaux HTTP |
Matrice de comparaison technique : GZ face aux concurrents
| Attribut technique | GZ (Actuel) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Vitesse de décompression | Rapide (~300 Mo/s) | Lente (~40 Mo/s) | Très rapide (~400 Mo/s) | Ultra-rapide (>1,5 Go/s) |
| Utilisation répandue sur le Web | Tous les navigateurs et serveurs | Zéro prise en charge par les navigateurs web | Pris en charge via HTTPS dans tous les navigateurs | Prise en charge croissante des navigateurs et des serveurs |
| Regroupement de plusieurs fichiers | Nécessite un conteneur TAR (.tar.gz) | Nécessite un conteneur TAR (.tar.bz2) | Flux brut ou conteneur personnalisé | Nécessite un conteneur TAR (.tar.zst) |
| Vérification de la somme de contrôle | CRC de 32 bits (CRC-32) | CRC 32 bits par bloc | Aucune somme de contrôle intégrée au flux | xxHash 64 bits |
Modes de corruption courants et guide de restauration hexadécimale
Erreur d'extraction : 'gzip: stdin: unexpected end of file'.
Cause initiale: Interruption prématurée du transfert du fichier, qui tronque le flux DEFLATE ou la fin CRC32 de 8 octets.
Récupération: Extrayez le contenu partiel à l'aide de 'gzip -d --keep broken.gz' ou de l'extracteur Gzip de File2File.app.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
Les analyseurs Gzip traitent des en-têtes contrôlés par l'utilisateur et des flux de bits DEFLATE qui doivent être protégés contre les bombes de décompression.
Vecteurs d’attaque connus
- Bombe de décompression (bombe ZIP) qui transforme quelques mégaoctets de données Gzip en centaines de gigaoctets de données sur disque.
- Dépassement de tampon lors de la lecture de la chaîne de nom de fichier d'origine optionnelle de l'en-tête.
- Dépassement d'entier lors de la comparaison de la vérification CRC 32 bits.
Bonnes pratiques de défense: Imposez des quotas de décompression stricts et une limite maximale de mémoire dans les services d'ingestion automatisés.
Origines historiques et jalons
Principaux avantages
- La référence universelle pour la compression HTTP ('Content-Encoding: gzip'), prise en charge par 100 % des navigateurs web.
- Préserve les horodatages de modification de fichier d'origine et les noms de fichiers d'origine optionnels dans l'en-tête de 10 octets.
- Faible charge processeur lors de la décompression, avec un fonctionnement fluide sur les appareils mobiles et les routeurs à faible consommation.
Limites techniques
- Compression d'un seul fichier uniquement : impossible de compresser plusieurs fichiers ou répertoires sans les regrouper d'abord dans une archive TAR.
- Le taux de compression est inférieur à celui des algorithmes modernes comme Brotli et Zstandard sur le texte web moderne.
- Le champ de taille non compressée de la fin est codé sur 32 bits modulo 2^32, ce qui peut provoquer des erreurs d'affichage pour les fichiers de plus de 4 Go.
Faits intéressants
- Les octets de signature 0x1F 0x8B ont été choisis parce que 0x1F était historiquement le premier octet des fichiers Unix 'compress', tandis que 0x8B identifiait Gzip.
- Plus de 80 % de tous les sites web sur Internet utilisent la compression Gzip pour diffuser des pages web aux navigateurs.
- Jean-loup Gailly a écrit le code de compression tandis que Mark Adler a écrit le code de décompression (inflate) ; tous deux ont reçu le prix ACM Software System.
Foire aux questions techniques
Pourquoi ne puis-je pas compresser un dossier avec Gzip ?
Gzip a été conçu pour compresser un seul flux d'octets. Pour compresser un dossier, les systèmes Unix regroupent d'abord le dossier dans un seul fichier .tar, puis le compressent avec Gzip pour créer un fichier .tar.gz.
Quelle est la différence entre .gz et .zip ?
.zip est un format d'archive qui regroupe plusieurs fichiers avec un index de répertoire. .gz compresse un seul fichier et est couramment associé à tar sur les systèmes Unix.
Comment puis-je décompresser un fichier .gz sur Windows ou Mac ?
Utilisez File2File.app pour décompresser instantanément les fichiers .gz directement dans votre navigateur, sans installer de logiciel.
Conversions associées à GZ
La conversion d'une archive TAR en archive GZIP enveloppe une collection de fichiers non compressés dans un flux compressé unique à l'aide de l'algorithme DEFLATE sans perte pour réduire considérablement la taille du fichier.
Extrayez les données TAR d’une archive TAR compressée avec GZIP, comme .tar.gz ou .tgz.