Posez votre question »

Compresser ses pages en Gzip et tester le résultat

Mai 2015

Une des principales qualités d’un site web est sa vitesse de chargement. Or, celle-ci dépend notamment de la taille des pages web et de leurs composants. Il existe un certain nombre de techniques permettant de réduire la taille globale téléchargée par l’utilisateur finale.

Compresser les pages web à la volée


Le protocole HTTP propose un mécanisme permettant de compresser les pages web à la volée pour les navigateurs. Pour mettre en œuvre cette compression, il faut en règle générale installer un module sur le serveur et le configurer. Sous le navigateur Apache, le module le plus utilisé est mod_gzip. Voici un exemple de configuration pour ce module :
<IfModule mod_gzip.c>
   mod_gzip_on Yes
   mod_gzip_can_negotiate Yes
   mod_gzip_static_suffix .gz
   AddEncoding gzip .gz
   mod_gzip_update_static No
   mod_gzip_command_version '/mod_gzip_status'
   mod_gzip_temp_dir /tmp
   mod_gzip_keep_workfiles No
   mod_gzip_minimum_file_size 500
   mod_gzip_maximum_file_size 500000
   mod_gzip_maximum_inmem_size 60000
   mod_gzip_min_http 1000
   mod_gzip_handle_methods GET POST
   mod_gzip_item_exclude reqheader "User-agent: Mozilla/4.0[678]"
   mod_gzip_item_include file \.html$
   mod_gzip_item_include file \.htm$
   mod_gzip_item_include file \.php3$
   mod_gzip_item_include file \.php$
   mod_gzip_item_include file \.js$
   mod_gzip_item_include file \.css$
   mod_gzip_item_include mime ^text/
   mod_gzip_item_exclude mime ^httpd/unix-directory
   mod_gzip_item_exclude mime ^image/
   mod_gzip_dechunk Yes
   mod_gzip_add_header_count Yes
   mod_gzip_send_vary Yes
</IfModule>


Par ailleurs, il est nécessaire d’ajouter mod_gzip à la liste des modules installés en insérant la ligne suivante en dernier dans la liste, car la compression Gzip doit intervenir en toute fin de processus :
LoadModule gzip_module /usr/lib/apache/1.3/mod_gzip.so


Il faut ensuite recharger la configuration Apache en exécutant par exemple une des commandes suivantes :
apachectl graceful
killall -HUP apache
/etc/init.d/apache reload > /dev/null

Tester la compression Gzip


Une fois la nouvelle configuration de Apache prise en compte, vous ne pourrez pas vérifier facilement si la compression est prise en compte, puisque les navigateurs web (Firefox, IE, Opera, etc.) la gèrent de façon complètement transparente.

Ainsi, il est nécessaire de regarder les entêtes HTTP échangés entre le serveur et le navigateur. Il existe pour cela des outils en ligne prêts à l'emploi :
Pour une lecture illimitée hors ligne, vous avez la possibilité de télécharger gratuitement cet article au format PDF :
Compresser-ses-pages-en-gzip-et-tester-le-resultat.pdf

Réalisé sous la direction de , fondateur de CommentCaMarche.net.

A voir également

Dans la même catégorie

Publié par Jeff. - Dernière mise à jour par christelle.b
Ce document intitulé «  Compresser ses pages en Gzip et tester le résultat  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.