Serveur Apache HTTP Version 2.4
Ce document d�crit l'utilisation des filtres avec Apache.
Modules Apparent�s | Directives Apparent�es |
---|---|
La cha�ne de filtrage est disponible depuis la version 2.0 d'Apache, et permet aux applications de traiter les donn�es en entr�e et en sortie d'une mani�re hautement flexible et configurable, quelle que soit la provenance de ces donn�es. Il est possible de pr�-traiter les donn�es en entr�e, et post-traiter les donn�es en sortie, selon vos souhaits. Ces traitements sont tout � fait ind�pendants des traditionnelles phases de traitement des requ�tes.
Voici quelques exemples de filtrage avec la distribution standard d'Apache:
mod_include
, impl�mente les inclusions c�t� serveur.mod_ssl
, impl�mente le cryptage SSL (https).mod_deflate
, impl�mente la compression/d�compression
� la vol�e.mod_charset_lite
, transcodage entre diff�rents
jeux de caract�res.mod_ext_filter
, utilisation d'un programme externe
comme filtre.Apache utilise aussi plusieurs filtres en interne pour accomplir des t�ches comme le d�coupage des grosses requ�tes (chunking) et la gestion des requ�tes portant sur une partie d'un fichier (byte-range).
Un grand choix d'applications sont impl�ment�es par des modules de filtrage tiers disponibles � modules.apache.org entre autres. En voici quelques exemples :
mod_filter
, inclus dans les version 2.1 et sup�rieures
d'Apache, permet de configurer la cha�ne de filtrage dynamiquement
� l'ex�cution.
Ainsi par exemple, vous pouvez d�finir un proxy pour r��crire du code HTML
avec un filtre HTML et traiter des images JPEG avec un filtre totalement
s�par�, bien que le proxy ne poss�de aucune information pr�liminaire
sur ce que le serveur � l'origine des donn�es � filtrer va envoyer.
Ceci fonctionne gr�ce � l'utilisation d'un gestionnaire de filtre,
qui distribue les t�ches � diff�rents fournisseurs de filtrage en fonction
du contenu r�el � filtrer � l'ex�cution. Tout filtre peut se voir soit
ins�r� directement dans la cha�ne et lanc� inconditionnellement, soit
utilis� comme un fournisseur de filtrage et ins�r� dynamiquement.
Par exemple,
Les filtres permettent de traiter les requ�tes des clients avant
traitement par le serveur, ainsi que les contenus issus du serveur avant de les renvoyer
au client. Le module mod_reflector
permet aussi
d'utiliser les filtres pour traiter les requ�tes des clients avant de
les renvoyer directement � ces derniers.
Le module mod_reflector
re�oit les requ�tes POST des
clients, et en r�percute le corps dans la requ�te POST constituant la
r�ponse, lors de l'envoi de cette derni�re au client en passant � travers la
pile de filtres en sortie.
Cette technique peut �tre utilis�e comme alternative � un service web
s'ex�cutant � l'int�rieur de la pile d'un serveur d'applications, o� un
filtre en sortie effectue la transformation requise sur le corps de la
requ�te. Par exemple, on peut utiliser le module
mod_deflate
pour fournir un service g�n�ral de
compression ; un filtre de transformation d'images peut aussi se voir
mu� en service de transformation d'images.
Il y a deux mani�res d'utiliser le filtrage : Simple et Dynamique. En g�n�ral, vous utiliserez l'une ou l'autre m�thode; le m�lange des deux peut avoir des cons�quences inattendues (bien que le filtrage simple en entr�e puisse �tre associ� sans probl�me avec le filtrage simple ou dynamique en sortie).
La m�thode Simple est la seule permettant de configurer les filtres
en entr�e, et suffit pour les filtres en sortie pour lesquels vous avez besoin
d'une cha�ne de filtres statique.
Les directives correspondantes sont
SetInputFilter
,
SetOutputFilter
,
AddInputFilter
,
AddOutputFilter
,
RemoveInputFilter
, et
RemoveOutputFilter
.
La m�thode Dynamique permet une configuration dynamique des filtres en
sortie � la fois statique et flexible, comme discut� dans la page
mod_filter
.
Les directives correspondantes sont
FilterChain
,
FilterDeclare
, et
FilterProvider
.
Une autre directive AddOutputFilterByType
est encore support�e,
mais obsol�te. Utilisez la
configuration dynamique � la place.