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
|
<?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>Utilisation des gestionnaires apache - Serveur Apache HTTP</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 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="./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.0</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.0</a></div><div id="page-content"><div id="preamble"><h1>Utilisation des gestionnaires apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="./fr/handler.html" title="Français"> fr </a> |
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p>
</div>
<p>Ce document décrit l'utilisation des gestionnaires (Handlers) Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#definition">Qu'est ce qu'un Gestionnaire ?</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#examples">Exemples</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#programmer">Note aux programmeurs</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="definition" id="definition">Qu'est ce qu'un Gestionnaire ?</a></h2>
<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_imap.html">mod_imap</a></code></li><li><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></li><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removehandler">RemoveHandler</a></code></li><li><code class="directive"><a href="./mod/core.html#sethandler">SetHandler</a></code></li></ul></td></tr></table>
<p>Un Gestionnaire "handler" est une représentation interne à
Apache, qui décrit quoi faire quand un fichier est appelé. De
manière générale, les fichiers disposent d'un gestionnaire
implicite en fonction de leurs types. Le fonctionnement standard
est de simplement servir le fichier tel qu'il est demandé, mais
certains types de fichiers peuvent être gérés différemment.</p>
<p>Depuis Apache 1.1, il est possible de forcer l'utilisation
des gestionnaires. Ils peuvent être spécifiés pour des fichiers
présentant une certaine extension ou présents dans un certain
répertoire, et peuvent être utilisés indépendamment des types
des fichiers. Cette technique est avantageuse, d'abord parce
que plus élégante, mais aussi parce qu'on peut ainsi associer
un type de fichier <strong>et</strong> un gestionnaire à un
fichier. (Voir aussi : <a href="mod/mod_mime.html#multipleext">Fichiers à Extensions Multiples</a>.)</p>
<p>Les gestionnaires peuvent être intégrés au serveur, ou inclus
dans un module, ou encore être configurés au moyen de la directive
<code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code>. Les
gestionnaires fournis par défaut dans la distribution d'Apache
se présentent comme suit :</p>
<ul>
<li><strong>default-handler</strong> : Envoie le fichier en
utilisant <code>default_handler()</code> qui est le
gestionnaire utilisé par défaut pour gérer les contenus
statiques. (noyau d'Apache)</li>
<li><strong>send-as-is</strong> : Envoie le fichier avec les
en-têtes HTTP tels quels. (<code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code>)</li>
<li><strong>cgi-script</strong> : Traite le fichier comme un
script CGI. (<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code>)</li>
<li><strong>imap-file</strong> : Traite le fichier comme un
ensemble de règles imagemap. NdT : ces fonctionnalités sont
désuètes, et sont réalisées à présent coté client.
(<code class="module"><a href="./mod/mod_imap.html">mod_imap</a></code>)</li>
<li><strong>server-info</strong> : Envoie les informations
de configuration du serveur. (<code class="module"><a href="./mod/mod_info.html">mod_info</a></code>)</li>
<li><strong>server-status</strong> : Envoie les informations sur
le fonctionnement et la charge du serveur.
(<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>)</li>
<li><strong>type-map</strong> : Traite le fichier comme un
fichier de types pour la négociation de contenu.
(<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>)</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="examples" id="examples">Exemples</a></h2>
<h3><a name="example1" id="example1">Modifier un contenu statique au moyen d'un script CGI</a></h3>
<p>Les directives ci-après provoquent l'exécution du script
CGI <code>footer.pl</code> à chaque requête de fichier
présentant l'extension <code>html</code>.</p>
<div class="example"><p><code>
Action add-footer /cgi-bin/footer.pl<br />
AddHandler add-footer .html
</code></p></div>
<p>Le travail du script CGI est alors d'envoyer le document
demandé (désigné au moyen de la variable d'environnement
<code>PATH_TRANSLATED</code>) en lui faisant subir au préalable
les transformations désirées.</p>
<h3><a name="example2" id="example2">Fichiers contenant des en-têtes HTTP</a></h3>
<p>Les directives ci-après activent le gestionnaire
<code>send-as-is</code>, utilisé pour gérer les fichiers
qui contiennent leurs propres en-têtes HTTP. Tous les fichiers
contenus dans le répertoire <code>/web/htdocs/asis/</code>
seront traités par le gestionnaire <code>send-as-is</code>,
sans tenir compte de leurs extensions.</p>
<div class="example"><p><code>
<Directory /web/htdocs/asis><br />
SetHandler send-as-is<br />
</Directory>
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="programmer" id="programmer">Note aux programmeurs</a></h2>
<p>L'<a href="developer/API.html">API d'Apache</a> a été modifiée
lors de l'implémentation des gestionnaires ; cette modification
peut se révéler intéressante. Un nouvel enregistrement a été ajouté
à la structure <code>request_rec</code> :</p>
<div class="example"><p><code>
char *handler
</code></p></div>
<p>Pour qu'un module utilise un gestionnaire, il suffit d'affecter
<code>r->handler</code> avec le nom du gestionnaire avant
l'étape <code>invoke_handler</code> de la requête. Les
gestionnaires fonctionnent comme auparavant, bien que leurs noms
soient nécessaires au lieu d'un type de contenu. Bien qu'elle ne
soit pas nécessaire, la convention de nommage des gestionnaires
demande l'utilisation de mots séparés par des tirets, ne contenant
aucun slash, afin de ne pas interférer avec l'espace de nommage
des types de médias.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/handler.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="./fr/handler.html" title="Français"> fr </a> |
<a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p>
</div><div id="footer">
<p class="apache">Copyright 2006 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="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
</body></html>
|