Qu’est-ce que la compression GZIP ?
GZIP est un format de compression de fichiers sans perte défini par la RFC 1952. Il enveloppe une charge utile produite par l'algorithme DEFLATE (RFC 1951), qui combine les références arrière LZ77 avec le codage de Huffman pour réduire les données répétitives en un flux d'octets compact.
Comment fonctionne la compression GZIP ?
Votre saisie est traitée entièrement dans votre navigateur grâce à l'API native CompressionStream('gzip'). Les étapes principales sont :
- L'outil convertit votre texte ou fichier en un flux d'octets (UTF-8 pour la saisie de texte).
- Ces octets passent par un
CompressionStreamconfiguré pour le formatgzip. - Le navigateur applique DEFLATE : une passe LZ77 à fenêtre glissante trouve les séquences répétées, et le codage de Huffman attribue des codes plus courts aux symboles courants.
- Un en-tête gzip de 10 octets et un pied de page de 8 octets (CRC32 des données originales plus la longueur originale modulo 2^32) sont enveloppés autour de la charge DEFLATE, produisant un conteneur .gz standard.
- Le résultat est rendu en Base64 ou hexadécimal pour les entrées de texte, ou proposé comme fichier .gz téléchargeable pour les entrées binaires.
Pourquoi compresser avec GZIP ?
- Charges plus petites : texte, JSON, HTML, CSS et code source se réduisent généralement à une fraction de leur taille d'origine.
- Standard de l'industrie : GZIP est compris par pratiquement tous les serveurs HTTP, CDN, navigateurs, outils d'archivage et bibliothèques standard de langages de programmation.
- Confidentialité : la compression se déroule entièrement dans votre navigateur. La saisie n'atteint jamais nos serveurs.
- Aller-retour prêt : la sortie se décompresse avec la CLI
gunzip, avec l'en-tête HTTPContent-Encoding: gzipet avec n'importe quel lecteur RFC 1952 en Python, Node.js, Go, Java ou Rust.
Quelles sont les applications courantes de la compression GZIP ?
GZIP est utilisé sur le Web et dans les outils en ligne de commande :
- Transfert HTTP : les serveurs web compressent les réponses avec GZIP pour que les pages se chargent plus rapidement sur le réseau.
- Archivage des journaux : les journaux de serveur de longue durée sont stockés sous forme de fichiers .gz pour réduire l'utilisation du disque.
- Sauvegardes et bundles : les tarballs (.tar.gz) compressent des arborescences de répertoires entières pour une distribution portable.
À quoi ressemble un exemple de compression GZIP ?
Un document JSON de 1 Ko avec de nombreux noms de champ répétés se compresse généralement à environ 200–300 octets — une réduction de taille de quatre à cinq fois. Les gros journaux texte se compressent souvent de 90 % ou plus. Les entrées déjà compressées (JPEG, PNG, MP4, ZIP) ne se réduiront pas davantage et peuvent croître de quelques octets en raison du cadrage GZIP.
Ce compresseur GZIP produit une sortie RFC 1952 standard directement dans votre navigateur. Que vous réduisiez une charge utile avant transmission ou que vous produisiez un fichier .gz pour archivage, le résultat interopère avec tous les outils compatibles GZIP du réseau.