Logo English Web Page
Accueil Association BSD Linux Dev Reseau Infologisme Mac OSX
tl tr
Sujet Configurer Date 02-10-2013
Titre Apache 2.x pour servir du gZip Encoding Section BSD Linux
Article

Pourquoi le gZip Encoding ?

On a deux cas de figure :
•   Lorsqu‘on est un FAI, on possède une énorme bande passante symétrique directement branchée sur un backbone. On privilégie le temps machine au détriment de la bande passante.
•   Quand on est un particulier ou une petite structure, la compression permet de palier à une bande passante ridicule en UpLoad. Servir des pages Web compressées comble, voir surpasse, la différence de bande passante.
Le gZip Encoding est une méthode pour servir des pages Web avec la compression gZip sous BSD ou Linux. Le navigateur Web envoie une requête HTTP au Serveur Web. Dans cette requête il peut indiquer qu‘il accepte le gZip Encoding. La page HTML sera alors envoyée compressée. Dans le cas où le navigateur ne sait pas interpréter le format gZip, le Serveur Web envoie une page HTML normale non compressée. C‘est notamment le mode de fonctionnement d‘Apache 2.x.

Apache 2.x

On parle bien de ce que l‘on connaît bien : servir avec le Serveur Web Apache 2.x car avec la version 1.3.x, la compression des page HTML ne ce fait pas avec le même module.

Avec Apache 2.x, c‘est le module mod_deflate qui se charge de la compression. Dans une distribution Arch Linux la version installée de Apache est bien une httpd 2.2.22.x quelque soit la version choisie, x86-compatible (Architecture 32-bit) pour Pentium ou x86_64 (Architecture 64-bit) pour AMD ou Intel 64. Il en est de même pour FreeBSD avec Apache 2.2.22.x voir article :

FreeBSD - Installer et Configurer version 7.4-RELEASE
FreeBSD - Installer et Configurer version 8.4-RELEASE
FreeBSD - Installer et Configurer version 9.2-RELEASE

Cette dernière version de Apache est très performante pour le gZip Encoding dynamique (page HTML compressée au format gZip à la volée). Dans la série télévisée « Je teste pour vous... ».

Dans la version de Apache 2.x le module mod_deflate est déjà installé, il faut simplement activer le gZip Encoding dans le fichier httpd.conf et vous allez voir, rien de plus simple.


Avec un Éditeur, ouvrir le fichier httpd.conf qui se trouve dans le dossier ou répertoire suivant :

Pour une distribution Linux /etc/httpd/conf/

Pour un Unix FreeBSD /usr/local/etc/apache22/

Trouver la section suivante :

#
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
# Despite the name similarity, the following Add* directives have nothing
# to do with the FancyIndexing customization directives above.
#

AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz


Pour les deux lignes enlever le caractère # pour activer le gZip Encoding.
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz


AddOutputFilterByType DEFLATE text/php text/HTML text/txt

#
Ajouter cette ligne pour ne compresser au format gZip que les fichiers de page Web avec une extension : .php .html .txt

Rien de bien compliqué !

Pour vérifier si votre Serveur Web Apache sert bien du gZip Encoding, prendre FireFox ou Mozilla voir Safari, enfin un navigateur Web de la famille Gecko car bien que le navigateur de la « Firme de Redmond » gère très bien le format de fichier gZip Encoding, il affiche uniquement le poids de la page décompressée. Charger une url de votre site, faire clique droit dans la page Web, sélectionner Information sur la page et vous aurez le poids du fichier gZip de la page, comparer avec la taille du ficher de la page Web sur le disque.

Autre méthode de vérification :

Avec le format de log pour Apache qui convient très bien à Webalizer :

"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""

Comme dans l‘exemple de log suivant, le nombre indiqué ici en rouge qui donne le poids du fichier servi :

192.168.1.1 - - [16/Sep/2008:10:20:40 +0200] "GET /fr/article.php?AIndex=30 HTTP/1.1" 200 4798 "-" "Mozilla/5.0 (X11; U; FreeBSD i386; fr-FR; rv:1.8.1.16) Gecko/20080911 Firefox/2.0.0.16"

Taille du Fichier compressé de cette page Web 4,69 Ko (4798 octets) et la taille du fichier sur Disque est de 20 Ko (18394 octets).


Article connexe du sujet

Mise en œuvre d‘un Service de développement Web
Résolution DNS Fichier hosts et hostname - Servir avec Apache sur un Nom
BIND Système Nom Domaine - FreeBSD
FreeBSD - Installer et Configurer version 8.4-RELEASE
FreeBSD - Installer et Configurer version 9.2-RELEASE
Configuration Oracle VM VirtualBox pour FreeBSD-8.4

Auteur
Eric Douzet
Début de page
bl br
C-extra.com v. 1.2.2 © 2000-2014, tous droits réservés  –  Mise à jour le 12 Avril 2014 Infologisme.com