web-dev-qa-db-fra.com

Qu'est-ce que la compression gZip?

J'ai entendu beaucoup de choses que l'on devrait utiliser gZip pour leurs pages Web pour un accès et des téléchargements plus rapides, et que cela économise également la bande passante.

Alors, quelle est cette compression gZip et comment accélère-t-elle les téléchargements? Compresse-t-il le HTML et les images ou simplement le HTML.

Si je dois commencer à utiliser gZip dans mes webapps, quelles considérations dois-je prendre? Existe-t-il des restrictions de serveur ou de navigateur , ou prend-il uniquement en charge un encodage particulier?.

49
Ric

GZip est une forme de compression de données - c'est-à-dire qu'il prend un morceau de données et le rend plus petit. Les données d'origine peuvent être restaurées en décompressant le fichier compressé.

Il est pertinent pour les applications Web et les sites Web, car le protocole HTTP inclut la possibilité de compresser les données envoyées.

Cela signifie que lorsqu'il est utilisé, les coûts de votre bande passante pour le service sur le site seront inférieurs car les personnes visitant le site téléchargeront des fichiers plus petits.

Il y a quelques mises en garde à utiliser GZip, mais dans l'ensemble, il est généralement préférable d'utiliser gzip que de ne pas le faire - par exemple, cela prend du temps et de la puissance du processeur pour compresser et décompresser les fichiers, mais généralement ce n'est pas un problème parce que le temps qu'il il faut souvent moins de temps que cela en économisant en téléchargeant un fichier plus petit. Par conséquent, l'effet global est un gain de temps, même si le navigateur doit décompresser le fichier.

GZip peut compresser tous les fichiers; cela ne fait aucune différence quel est le type de fichier ou l'encodage. De toute évidence, certains fichiers peuvent être compressés plus efficacement que d'autres, de sorte que l'économie de bande passante variera - les fichiers texte comme HTML donnent les meilleurs résultats; les images ne sont pas tellement compressées par gzip car elles ont déjà une compression intégrée. Certains fichiers (par exemple ceux qui sont déjà fortement compressés comme .Zip files) peut en fait devenir légèrement plus gros quand il est compressé, car ils ne peuvent plus être compressés mais gzip doit toujours ajouter ses métadonnées au fichier. Mais ce sont des cas Edge, et cela ne fait pas beaucoup de différence.

GZip sur HTTP se produit normalement de manière complètement transparente. L'utilisateur final doit ignorer complètement que cela se produit; le navigateur le ferait en coulisses pour eux. Et du côté du serveur Web, il s'agit simplement d'activer un paramètre de configuration dans votre logiciel de serveur Web. De votre point de vue, c'est vraiment tout ce que vous devez savoir; définissez simplement le paramètre gzip sur votre serveur (ou demandez à votre FAI de le faire). Il est fort possible qu'il soit déjà actif sur votre site à votre insu.

54
Spudley

GZip Compressez les fichiers comme les fichiers html, js et css tout en servant la requête au navigateur. Comme la taille du fichier est réduite, il est servi à l'utilisateur de manière plus rapide. Tous les navigateurs ne prennent pas en charge la compression, mais désormais tous les navigateurs modernes. Il est fortement recommandé, mais une seule partie est qu'il augmente l'utilisation du processeur du serveur, ce qui peut parfois être préoccupant. L'utilisation de Gzip avec la mise en cache côté client contribuera à augmenter les performances.

4
Devesh