1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Filtres - Serveur Apache HTTP Version 2.4</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<script src="./style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.4</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Filtres</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/filter.html" hreflang="es" rel="alternate" title="Espaol"> es </a> |
<a href="./fr/filter.html" title="Franais"> fr </a> |
<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Trke"> tr </a></p>
</div>
<p>Ce document dcrit l'utilisation des filtres avec Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#intro">Le filtrage avec Apache 2</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#smart">Filtrage intelligent</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#service">Prsentation des filtres en tant que service HTTP</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#using">Utilisation des filtres</a></li>
</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="intro" id="intro">Le filtrage avec Apache 2</a></h2>
<table class="related"><tr><th>Modules Apparents</th><th>Directives Apparentes</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code></li><li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code></li><li><code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code></li><li><code class="module"><a href="./mod/mod_buffer.html">mod_buffer</a></code></li><li><code class="module"><a href="./mod/mod_data.html">mod_data</a></code></li><li><code class="module"><a href="./mod/mod_ratelimit.html">mod_ratelimit</a></code></li><li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code></li><li><code class="module"><a href="./mod/mod_request.html">mod_request</a></code></li><li><code class="module"><a href="./mod/mod_sed.html">mod_sed</a></code></li><li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code></li><li><code class="module"><a href="./mod/mod_xml2enc.html">mod_xml2enc</a></code></li><li><code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprotocol">FilterProtocol</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code></li><li><code class="directive"><a href="./mod/mod_reflector.html#reflectorheader">ReflectorHeader</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a></code></li><li><code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code></li><li><code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code></li></ul></td></tr></table>
<p>La chane de filtrage est disponible depuis la version 2.0 d'Apache,
et permet aux applications de traiter les donnes en entre et en sortie
d'une manire hautement flexible et configurable, quelle que soit la
provenance de ces donnes. Il est possible de pr-traiter les donnes
en entre, et post-traiter les donnes en sortie, selon
vos souhaits.
Ces traitements sont tout fait indpendants des traditionnelles phases
de traitement des requtes.</p>
<p class="figure">
<img src="images/filter_arch.png" width="569" height="392" alt="les filtres peuvent s'enchaner, perpendiculairement au traitement des requtes" />
</p>
<p>Voici quelques exemples de filtrage avec la distribution standard d'Apache:</p>
<ul>
<li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, implmente les inclusions ct serveur.</li>
<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>, implmente le cryptage SSL (https).</li>
<li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code>, implmente la compression/dcompression
la vole.</li>
<li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code>, transcodage entre diffrents
jeux de caractres.</li>
<li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code>, utilisation d'un programme externe
comme filtre.</li>
</ul>
<p>Apache utilise aussi plusieurs filtres en interne pour accomplir des tches
comme le dcoupage des grosses requtes (chunking) et la gestion des
requtes portant sur une partie d'un fichier (byte-range).</p>
<p>Un grand choix d'applications sont implmentes par des modules de filtrage
tiers disponibles <a href="http://modules.apache.org/">modules.apache.org</a> entre autres.
En voici quelques exemples :</p>
<ul>
<li>Traitement et rcriture HTML et XML</li>
<li>Transformations XSLT et inclusions XML (XIncludes)</li>
<li>Support de l'espace de nommage XML</li>
<li>Gestion du chargement de fichier et dcodage des formulaires HTML</li>
<li>Traitement d'image</li>
<li>Protection des applications vulnrables comme les scripts PHP</li>
<li>Edition de texte par Chercher/Remplacer</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="smart" id="smart">Filtrage intelligent</a></h2>
<p class="figure">
<img src="images/mod_filter_new.png" width="423" height="331" alt="Le filtrage intelligent applique diffrents fournisseurs de filtrage en fonction de l'tat du traitement de la requte" />
</p>
<p><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, inclus dans les version 2.1 et suprieures
d'Apache, permet de configurer la chane de filtrage dynamiquement
l'excution.
Ainsi par exemple, vous pouvez dfinir un proxy pour rcrire du code HTML
avec un filtre HTML et traiter des images JPEG avec un filtre totalement
spar, bien que le proxy ne possde aucune information prliminaire
sur ce que le serveur l'origine des donnes filtrer va envoyer.
Ceci fonctionne grce l'utilisation d'un gestionnaire de filtre,
qui distribue les tches diffrents fournisseurs de filtrage en fonction
du contenu rel filtrer l'excution. Tout filtre peut se voir soit
insr directement dans la chane et lanc inconditionnellement, soit
utilis comme un fournisseur de filtrage et insr dynamiquement.
Par exemple,</p>
<ul>
<li>un filtre de traitement HTML sera lanc uniquement si le contenu est
de type text/html ou application/xhtml+xml</li>
<li>Un filtre de compression sera lanc uniquement si les donnes en entre
sont de type compressible et non dj compresses</li>
<li>Un filtre de conversion de jeux de caractres ne sera insr que si
le document texte n'est pas dj dans le jeu de caractres voulu</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="service" id="service">Prsentation des filtres en tant que service HTTP</a></h2>
<p>Les filtres permettent de traiter les requtes des clients avant
traitement par le serveur, ainsi que les contenus issus du serveur avant de les renvoyer
au client. Le module <code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code> permet aussi
d'utiliser les filtres pour traiter les requtes des clients avant de
les renvoyer directement ces derniers.</p>
<p>Le module <code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code> reoit les requtes POST des
clients, et en rpercute le corps dans la requte POST constituant la
rponse, lors de l'envoi de cette dernire au client en passant travers la
pile de filtres en sortie.</p>
<p>Cette technique peut tre utilise comme alternative un service web
s'excutant l'intrieur de la pile d'un serveur d'applications, o un
filtre en sortie effectue la transformation requise sur le corps de la
requte. Par exemple, on peut utiliser le module
<code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> pour fournir un service gnral de
compression ; un filtre de transformation d'images peut aussi se voir
mu en service de transformation d'images.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="using" id="using">Utilisation des filtres</a></h2>
<p>Il y a deux manires d'utiliser le filtrage : Simple et Dynamique.
En gnral, vous utiliserez l'une ou l'autre mthode; le mlange des deux
peut avoir des consquences inattendues (bien que le filtrage simple en entre
puisse tre associ sans problme avec le filtrage simple ou dynamique
en sortie).</p>
<p>La mthode Simple est la seule permettant de configurer les filtres
en entre, et suffit pour les filtres en sortie pour lesquels vous avez besoin
d'une chane de filtres statique.
Les directives correspondantes sont
<code class="directive"><a href="./mod/core.html#setinputfilter">SetInputFilter</a></code>,
<code class="directive"><a href="./mod/core.html#setoutputfilter">SetOutputFilter</a></code>,
<code class="directive"><a href="./mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>,
<code class="directive"><a href="./mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>,
<code class="directive"><a href="./mod/mod_mime.html#removeinputfilter">RemoveInputFilter</a></code>, et
<code class="directive"><a href="./mod/mod_mime.html#removeoutputfilter">RemoveOutputFilter</a></code>.</p>
<p>La mthode Dynamique permet une configuration dynamique des filtres en
sortie la fois statique et flexible, comme discut dans la page
<code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>.
Les directives correspondantes sont
<code class="directive"><a href="./mod/mod_filter.html#filterchain">FilterChain</a></code>,
<code class="directive"><a href="./mod/mod_filter.html#filterdeclare">FilterDeclare</a></code>, et
<code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code>.</p>
<p>Une autre directive <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> est encore supporte,
mais obsolte. Utilisez la
configuration dynamique la place.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/filter.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/filter.html" hreflang="es" rel="alternate" title="Espaol"> es </a> |
<a href="./fr/filter.html" title="Franais"> fr </a> |
<a href="./ja/filter.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/filter.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/filter.html" hreflang="tr" rel="alternate" title="Trke"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/filter.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autoris sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|