Deux modules sont disponibles pour compresser les données: mod_gzip et mod_gunzip. Ils utilisent des approches différentes afin de limiter l'utilisation de bande passante.
mod_gunzip prend un fichier compressé et le décompresse is le navigateur ne sait pas recevoir des données compressées. L'avantage est de limiter la charge CPU car la plupart des navigateurs gèrent bien les données compressées. D'un autre côté, la plupart des contenus sont aujourd'hui générés dynamiquement (ex: PHP) et ces contenus ne sont pas compressés.
mod_gzip ne travaille pas à partir de fichiers déjà compressés. Toutes les données seront compressées avant d'être envoyées au navigateur. L'avantage est de compresser tous les contenus dynamiques, mais en contre-partie, cela génére un forte charge CPU afin de compresser toutes les données à la volée. mod_gzip sait gérer des fichiers déjà compressés (par ex: le fichier index.html.gz serait envoyé en l'état).
Conclusion: vous devez choisir avec la plus grande précaution le module de compression. Si vous payez la bande passante et que la puissante CPU est moins importante, mod_gzip est le bon choix. Si les temps de réponses (délai de traitement des requêtes) est important et que la bande passante est peu chère, mod_gunzip est mieux.
La page web suivante peut vous aider à prendre la bonne décision. C'est un document de Martin Kiff sur mod_gunzip http://www.innerjoin.org/apache-compression/howto.html
/usr/local/apache/bin/apxs -i -a -c -lz mod_gzip.c |
Mettre ce qui suit dans /usr/local/apache/conf/httpd.conf:
mod_gzip_on Yes mod_gzip_can_negotiate Yes mod_gzip_dechunk Yes mod_gzip_minimum_file_size 600 mod_gzip_maximum_file_size 0 mod_gzip_maximum_inmem_size 100000 mod_gzip_keep_workfiles No mod_gzip_temp_dir /usr/local/apache/gzip mod_gzip_item_include file \.html$ mod_gzip_item_include file \.txt$ mod_gzip_item_include file \.jsp$ mod_gzip_item_include file \.php$ mod_gzip_item_include file \.pl$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-httpd-php mod_gzip_item_include mime ^httpd/unix-directory$ mod_gzip_item_include handler ^perl-script$ mod_gzip_item_include handler ^server-status$ mod_gzip_item_include handler ^server-info$ mod_gzip_item_exclude file \.css$ mod_gzip_item_exclude file \.js$ mod_gzip_item_exclude mime ^image/.* |
Site d'origine: http://www.oldach.net/mod_gunzip.tar.gz
tar -xvzf mod_gunzip.tar.gz cd mod_gunzip-2 /usr/local/apache/bin/apxs -i -a -c -lz mod_gunzip.c |
Mettre ce qui suit dans /usr/local/apache/conf/httpd.conf:
AddType text/html .htmz AddHandler send-gunzipped .htmz |
Maintenant vous pouvez utiliser gzip sur vos fichiers html et les renommer, c'est à dire :
gzip index.html mv index.html.gz index.htmz |
Bien entendu, vous devrez modifier tous vos liens html vers des htmz, c'est à dire <a href="page.htmz">Une page</a>