Aller au contenu | Aller au menu | Aller à la recherche


Compression GZIP sur serveur Web Apache

Compresser vos pages web avec zip pour accélérer le temps de réponse et satisfaire les internautes et Google pour améliorer son référencement.

La documentation Apache du module mod_deflate

Le module mod_deflate implémente le filtre de sortie DEFLATE qui permet de comprimer la sortie de votre serveur avant de l'envoyer au client sur le réseau.

Sur Apache/2.2.9 (Debian)

Par défaut, sur Debian avec un Apache/2.2.9, le module deflate_module est activé dans /etc/apache2/mods-enabled/deflate.load :

LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so

Et est configuré avec /etc/apache2/mods-enabled/deflate.load comme suit :

<IfModule mod_deflate.c>
         AddOutputFilterByType DEFLATE text/html text/plain text/xml
</IfModule>

On peut rapidement rajouter la compression des feuilles de style .css et du javascript .js :

<IfModule mod_deflate.c>
#          AddOutputFilterByType DEFLATE text/html text/plain text/xml
          AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
</IfModule>

Outils pour tester la compression GZIP des pages de votre site

Globalement, si on lit les réponses (en-têtes, headers) html de la page retournée par le serveur web, il faut trouver la balise d'encodage pour s'assurer que la compression est activée :

Content-Encoding: gzip

Bien sur, il faut au préalable que le client accepte du contenu compressé, en émettant l'en-tête :

Accept-Encoding: gzip,deflate

GIDNetwork > Tools > GIDZipTest : A simple online web page compression / deflate / gzip test tool

Le plugin Firefox WebDevelopper

Entêtes de réponse avant l'activation de la compression sur les .css :

HTTP/1.1 200 OK
Date: Thu, 22 Apr 2010 19:43:53 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 with Suhosin-Patch
Last-Modified: Tue, 13 Apr 2010 23:14:37 GMT
Etag: "368026-3404-484266cdeb140"
Accept-Ranges: bytes
Content-Length: 13316
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/css

Réponse après avoir avoir activé la compression gzip avec Apache

HTTP/1.1 200 OK
Date: Thu, 22 Apr 2010 19:55:25 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 with Suhosin-Patch
Last-Modified: Tue, 13 Apr 2010 23:14:37 GMT
Etag: "368026-3404-484266cdeb140"-gzip
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 3262
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/css
  • Poids initial du fichier css : 13316
  • Poids compressé du même fichier css : 3262
13316 100%
  3262   24% soit -76% du poids initial !

Ressources

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet