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
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- English revision : 1561569 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="new_features_2_2.xml.meta">
<title>Aperçu des nouvelles fonctionnalités de la version
2.2 du serveur HTTP Apache</title>
<summary>
<p>Ce document décrit quelques uns des changements principaux entre
les versions 2.0 et 2.2 du serveur HTTP Apache. Pour les
nouvelles fonctionnalités ajoutées depuis la version 1.3, se
référer au document
<a href="new_features_2_0.html">2.0 new features</a>.</p>
</summary>
<section id="core">
<title>Améliorations du système de base</title>
<dl>
<dt>Authn/Authz</dt>
<dd>Les modules d'authentification et d'autorisation intégrés
ont été refondus. Le nouveau module
mod_authn_alias (supprimé dans la version 2.3/2.4) permet de
simplifier considérablement certaines configurations d'authentification.
Voir <a href="#module">modification des noms de modules</a>,
et
<a href="#developer">les changements pour le développeur</a>
pour plus d'informations sur les conséquences de ces
changements pour les utilisateurs et les développeurs de
modules.</dd>
<dt>Mise en cache</dt>
<dd><module>mod_cache</module>, <module>mod_cache_disk</module>, et
mod_mem_cache (supprimés dans la version 2.3/2.4) ont subi de nombreuses
modifications, et l'on considère qu'ils ont maintenant atteint
un degré de qualité suffisant pour leur mise en production. Le programme
<program>htcacheclean</program> a été ajouté afin de rendre
plus propre la configuration du module
<module>mod_cache_disk</module>.</dd>
<dt>Configuration</dt>
<dd>L'agencement de la configuration par défaut a été simplifié
et modularisé. Les portions de configuration qui peuvent être
utilisées pour activer des fonctionnalités courantes sont
maintenant intégrées à Apache, et peuvent être facilement
ajoutées à la configuration principale du serveur.</dd>
<dt>Arrêt en douceur</dt>
<dd>Les modules MPM <module>prefork</module>,
<module>worker</module> et <module>event</module> permettent
maintenant l'arrêt en douceur de <program>httpd</program>
au moyen du signal
<a href="stopping.html#gracefulstop"><code>graceful-stop</code></a>.
La directive <directive module="mpm_common"
>GracefulShutdownTimeout</directive> a été ajoutée dans le but
de spécifier un délai optionnel, après lequel
<program>httpd</program> s'arrêtera quel que soit le statut
des requêtes en cours.</dd>
<dt>Mise en oeuvre du proxy</dt>
<dd>Le nouveau module <module>mod_proxy_balancer</module> fournit
des services de répartition de charge (load balancing) pour le
module <module>mod_proxy</module>.
Le nouveau module <module>mod_proxy_ajp</module> ajoute le
support pour le
<code>Protocole JServ de Apache version 1.3</code> qu'utilise
<a href="http://tomcat.apache.org/">Apache Tomcat</a>.</dd>
<dt>Mise à jour de la bibliothèque des expressions rationnelles</dt>
<dd>La version 5.0 de la
<a href="http://www.pcre.org/">Perl Compatible Regular Expression
Library</a> (PCRE) est maintenant disponible.
<program>httpd</program> peut être configuré pour utiliser une
PCRE choisie en passant l'option <code>--with-pcre</code> au
script configure.</dd>
<dt>Filtrage intelligent</dt>
<dd>Le module <module>mod_filter</module> permet la configuration
dynamique de la chaîne de filtrage en sortie. Il permet
d'insérer des filtres conditionnels basés sur toute
requête, en-tête de réponse ou variable
d'environnement, et fait table rase des problèmes de dépendances
et d'ordonnancement rencontrés avec l'architecture 2.0.</dd>
<dt>Support des gros fichiers</dt>
<dd><program>httpd</program> supporte maintenant les fichiers d'une taille supérieure
à 2GB sur les systèmes 32 bits UNIX modernes. Le support des
corps de requête d'une taille supérieure à 2GB a aussi été
ajouté.</dd>
<dt>Module MPM Event</dt>
<dd>Le module MPM <module>event</module> utilise un thread séparé
pour gérer les requêtes "Keep alive" et accepter des connexions.
Les requêtes "Keep alive" requéraient traditionnellement un
processus httpd dédié pour leur gestion. Ce processus dédié
ne pouvait plus être réutilisé jusqu'à ce que le délai "Keep Alive"
soit écoulé.</dd>
<dt>Support des bases de données SQL</dt>
<dd>Le module <module>mod_dbd</module>, associé à l'environnement
<code>apr_dbd</code>, fournit le support SQL direct aux modules
qui en ont besoin. Supporte la mise en commun des connexions
dans les modules MPM threadés.</dd>
</dl>
</section>
<section id="module">
<title>Améliorations des modules</title>
<dl>
<dt>Authn/Authz</dt>
<dd>Les modules du répertoire aaa ont été renommés et fournissent
un support amélioré pour la méthode d'authentification <strong>digest</strong>. Par exemple, <code>mod_auth</code>
est maintenant scindé en deux modules : <module>mod_auth_basic</module> et
<module>mod_authn_file</module>; <code>mod_auth_dbm</code> s'appelle maintenant
<module>mod_authn_dbm</module>; <code>mod_access</code> a été renommé en
<module>mod_authz_host</module>. Est également apparu le nouveau module
mod_authn_alias (supprimé dans la version 2.3/2.4) qui simplifie
certaines configurations d'authentification.
</dd>
<dt><module outdated="true">mod_authnz_ldap</module></dt>
<dd>Ce module est un portage de la version 2.0 du module
<code>mod_auth_ldap</code> vers la version 2.2 du framework
<code>Authn/Authz</code>.
Les nouvelles fonctionnalités comprennent l'utilisation des valeurs
d'attributs LDAP et des filtres de recherche avancés dans la
directive <directive module="mod_authz_core">Require</directive>.</dd>
<dt><module>mod_authz_owner</module></dt>
<dd>Un nouveau module qui autorise l'accès à un fichier
en fonction de son propriétaire dans le système de
fichiers</dd>
<dt><module>mod_version</module></dt>
<dd>Un nouveau module qui permet d'activer des blocs de
configuration en fonction de la version du serveur en cours
d'exécution.</dd>
<dt><module>mod_info</module></dt>
<dd>Un nouvel argument <code>?config</code> a été ajouté, qui permettra d'afficher
les directives de configuration telles qu'elles sont interprétées
par Apache, y compris le nom de fichier et le numéro de ligne.
Le module montre aussi l'ordre des points d'entrée de traitement d'une
requête (request hooks) ainsi que des informations de construction
supplémentaires, d'une manière similaire à <code>httpd -V</code>.</dd>
<dt><module>mod_ssl</module></dt>
<!-- Need Info on SSLEngine Support? -->
<dd>Le support de la <a href="http://www.ietf.org/rfc/rfc2817.txt"
>RFC 2817</a> a été ajouté, ce qui permet de passer d'une
connexion en clair au chiffrement TLS.</dd>
<dt><module>mod_imagemap</module></dt>
<dd><code>mod_imap</code> a été renommé en <module>mod_imagemap</module> afin
d'éviter une confusion pour les utilisateurs.</dd>
</dl>
</section>
<section id="programs">
<title>Améliorations des programmes</title>
<dl>
<dt><program>httpd</program></dt>
<dd>Une nouvelle option de ligne de commande <code>-M</code>
a été ajoutée, qui fournit la liste de tous les modules chargés
en fonction de la configuration réelle. À la différence de l'option
<code>-l</code>, cette liste inclut les Objets Dynamiques Partagés
(DSOs) chargés par l'intermédiaire du module
<module>mod_so</module>.</dd>
<dt><program>httxt2dbm</program></dt>
<dd>Un nouveau programme servant à générer des fichiers dbm à partir
d'une source au format texte, à utiliser avec la directive
<directive module="mod_rewrite">RewriteMap</directive>
et le type de mise en correspondance <code>dbm</code>.</dd>
</dl>
</section>
<section id="developer">
<title>Changements pour le développeur de module</title>
<dl>
<dt><glossary>APR</glossary> 1.0 API</dt>
<dd>Apache 2.2 utilise l'API APR 1.0. Toutes les fonctions et
symboles obsolètes ont été supprimés du code de <code>APR</code> et
<code>APR-Util</code>. Pour plus de détails, consultez le
<a href="http://apr.apache.org/">site web d'APR</a>.</dd>
<dt>Authn/Authz</dt>
<dd>Les modules d'authentification et d'autorisation intégrés ont
été renommés de la manière suivante:
<ul>
<li><code>mod_auth_*</code> -> Modules qui implémentent un mécanisme
d'authentification HTTP</li>
<li><code>mod_authn_*</code> -> Modules qui fournissent un dispositif
d'authentification en arrière-plan</li>
<li><code>mod_authz_*</code> -> Modules qui implémentent l'autorisation (ou l'accès)</li>
<li><code>mod_authnz_*</code> -> Modules qui implémentent à la fois
l'authentification & l'autorisation</li>
</ul>
L'organisation des méthodes d'authentification a également été revue, ce qui va simplifier
grandement l'ajout de nouvelles méthodes d'authentification.</dd>
<dt>Journalisation des erreurs de connexion</dt>
<dd>Une nouvelle fonction a été ajoutée, <code>ap_log_cerror</code>,
afin de pouvoir enregistrer les erreurs qui surviennent au cours de
la connexion du client. Une fois enregistré, le message inclut l'adresse IP du client.</dd>
<dt>Ajout d'une portion de code pour la vérification de la configuration</dt>
<dd>Un nouvel élément de traitement a été ajouté, <code>test_config</code>,
afin d'aider les modules qui ne veulent exécuter un code spécial
que si l'utilisateur passe le paramètre <code>-t</code> à
<program>httpd</program>.</dd>
<dt>Définition de la taille de la pile pour les modules MPM en processus légers</dt>
<dd>Une nouvelle directive a été ajoutée, <directive module="mpm_common"
>ThreadStackSize</directive>
afin de définir la taille de la pile pour tous les modules MPM en processus légers (modules threadés).
Ceci s'avère nécessaire pour certains modules tiers sur des plateformes
dont la taille de la pile des threads par défaut est
trop petite.</dd>
<dt>Gestion de protocole pour les filtres en sortie</dt>
<dd>Par le passé, chaque filtre devait s'assurer que les en-têtes de
réponse corrects étaient générés dans la mesure où il les affectait.
Les filtres peuvent maintenant déléguer la gestion courante du
protocole au module
<module>mod_filter</module>, à l'aide des appels
<code>ap_register_output_filter_protocol</code> ou
<code>ap_filter_protocol</code>.</dd>
<dt>Ajout d'un élément de traitement pour le processus père (monitor hook)</dt>
<dd>Ce nouvel élément de traitement permet aux modules de lancer
des jobs réguliers/planifiés au niveau du processus père
(root).</dd>
<dt>Modifications de l'API de traitement des expressions rationnelles</dt>
<dd>Le fichier d'en-tête <code>pcreposix.h</code> n'est plus disponible ;
il a été remplacé par le nouveau fichier
d'en-tête <code>ap_regex.h</code>. L'implémentation
POSIX.2 <code>regex.h</code> exposée dans l'ancien fichier d'en-tête
est maintenant disponible dans l'espace de nommage <code>ap_</code>
depuis <code>ap_regex.h</code>. Les appels à <code>regcomp</code>,
<code>regexec</code>, etc... peuvent être remplacés par des appels à
<code>ap_regcomp</code>, <code>ap_regexec</code>.</dd>
<dt>Cadre d'application DBD (API pour base de données SQL)</dt>
<dd><p>Avec Apache 1.x et 2.0, les modules nécessitant un processus
SQL d'arrière-plan devaient s'en charger eux-mêmes. En dehors du fait
de réinventer la roue, ceci peut s'avérer très inefficace, par
exemple lorsque plusieurs modules maintiennent chacun leurs
propres connexions.</p>
<p>Apache 2.1 et supérieur fournissent l'API <code>ap_dbd</code> qui
permet la gestion des connexions à la base de données (y compris
les stratégies optimisées pour les modules MPM threadés
et non threadés), tandis que APR 1.2 et supérieur fournissent
l'API <code>apr_dbd</code> qui permet l'interaction avec la
base de données.</p>
<p>Les nouveaux modules DEVRAIENT désormais utiliser ces APIs pour
toutes les opérations liées aux bases de données SQL.
De même, les applications existantes DEVRAIENT être mises à jour
lorsque c'est possible, que ce soit de manière transparente ou sous forme
d'une option recommandée à leurs utilisateurs.</p></dd>
</dl>
</section>
</manualpage>
|