<-
Apache > Serveur HTTP > Documentation > Version 2.4

Filtres

Langues Disponibles:  en  |  es  |  fr  |  ja  |  ko  |  tr 

Ce document d´┐Żcrit l'utilisation des filtres avec Apache.

top

Le filtrage avec Apache 2

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.

les filtres peuvent s'enchaţner, perpendiculairement au traitement des requŕtes

Voici quelques exemples de filtrage avec la distribution standard d'Apache:

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 :

top

Filtrage intelligent

Le filtrage intelligent applique diffÚrents fournisseurs de filtrage en fonction de l'Útat du traitement de la requŕte

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,

top

Pr´┐Żsentation des filtres en tant que service HTTP

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.

top

Utilisation des filtres

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.

Langues Disponibles:  en  |  es  |  fr  |  ja  |  ko  |  tr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.