Developer Toolbox

gzip (DEFLATE)

Voyez comment gzip réduit un texte : les répétitions deviennent de courtes copies et les codes de Huffman donnent moins de bits aux symboles fréquents.

  • 32 Ko
  • 3-258 octets
  • 15 bits max.
  • enveloppe gzip 18 octets
Autres termes de cette page
  • Littéral : un caractère écrit tel quel, car aucune répétition de 3 caractères ou plus ne commence à sa position.
  • Code préfixe : aucun code n'est le début d'un autre, donc une suite de codes se relit sans séparateurs.
LZ77 et Huffman pas à pas 0 / 19 étapes

Le texte compte 23 caractères, soit 184 bits sans compression. Le compresseur le lit de gauche à droite et se demande à chaque position si ce qui suit est déjà apparu.

Espace : lecture ou pause. Flèches gauche et droite : pas à pas. Origine et Fin : sauter.

Essayez : Tapez la même lettre de nombreuses fois. Une seule copie de distance 1 les couvre toutes, car une copie peut chevaucher le texte qu'elle produit.

Comment ça marche

gzip applique DEFLATE en deux étapes. LZ77 parcourt le texte et cherche, à chaque position, la plus longue suite d'octets déjà apparue dans les 32 derniers Ko ; au lieu de la répéter, il écrit une paire : le nombre d'octets à copier (3-258) et la distance à laquelle ils se trouvent en arrière. Ce qui reste, les littéraux et ces paires, est ensuite écrit avec des codes de Huffman, où les symboles fréquents reçoivent des codes courts et les rares des codes longs. gzip enveloppe le résultat dans un en-tête de 10 octets et une fin de 8 octets avec une somme de contrôle CRC-32.

Quand le choisir

gzip compresse le texte qui se répète : HTML, CSS, JavaScript, JSON, journaux, CSV. Tous les navigateurs et serveurs le comprennent, il est rapide à tous les niveaux, et c'est le choix sûr par défaut pour compresser les réponses à la volée. Les données déjà compressées, comme JPEG, PNG, WOFF2 ou ZIP, n'ont plus de répétitions, donc gzip n'y ajoute que son enveloppe.

Sur votre propre texte

Les deux mêmes étapes, réalisées par le vrai gzip (niveau 6) sur un texte plus long. Collez le vôtre, ou apportez-en un depuis l'outil Compression gzip et Brotli.

Entrée