Vue d'ensemble des nouvelles fonctionnalit�s de la
version 2.0 du serveur HTTP Apache
Ce document d�crit les changements majeurs apport�s entre les
versions 1.3 et 2.0 du serveur HTTP Apache.

- Threading Unix
- Sur les syst�mes Unix qui supportent les threads
POSIX, Apache httpd
peut � pr�sent tourner en mode hybride multi-processus et
multi-thread�, ce qui augmente l'extensibilit� et la performance
du serveur pour la plupart des configurations.
- Nouveau Syst�me de Compilation
- Le processus de compilation a �t� refait de A � Z;
il utilise � pr�sent
autoconf
et libtool
,
ce qui rend la compilation d'Apache httpd plus famili�re aux utilisateurs
d'autre logiciels de m�me type.
- Support Multiprotocole
- Le serveur HTTP Apache dispose d�sormais de
l'infrastructure n�cessaire pour supporter
d'autres protocoles. Le module
mod_echo
illustre ces
possibilit�s.
- Support am�lior� des Plate-formes non-Unix
- Le serveur HTTP Apache 2.0 se montre plus rapide et plus stable sur les plate-formes
non Unix, telles BeOS, OS/2, NetWare et Windows. L'apparition des
Modules Multi-Processus (MPMs), ainsi que de
la biblioth�que "Apache Portable Runtime" (APR) permet � Apache de
tirer parti des API natives de ces plate-formes, sans s'appuyer sur leurs
couches POSIX souvent bogu�es et peu optimis�es.
- Nouvelle API d'Apache httpd
- L'Interface de Programmation (API) des modules a beaucoup chang�
avec le passage � la version 2.0.
Les probl�mes d'ordre et de priorit� des modules, rencontr�s
avec la version 1.3, devraient maintenant �tre r�solus. Apache 2.0
g�re ces probl�mes de fa�on automatique. L'ordre des modules
est g�r� au moyen de "crochets" (hooks), ce qui rend la gestion
flexible. De nouveaux appels ont �t� �galement cr��s
afin de permettre l'impl�mentation d'autres fonctions dans les modules,
sans devoir corriger le noyau du serveur HTTP Apache.
- Support IPv6
- Sur les syst�mes o� la biblioth�que Apache Portable Runtime
supporte IPv6, Apache peut par d�faut �couter sur des interfaces
de connexions IPv6. Les directives
Listen
,
NameVirtualHost
et
VirtualHost
supportent �galement
les adresses IPv6 (comme par exemple, dans "Listen[2001:db8::1]:8080
").
- Filtering
- Il est maintenant possible d'�crire des modules
pour Apache httpd pour filtrer
les flux de donn�es entrant ou sortant du serveur. A titre d'exemple,
il est possible de filtrer des directives Server Side Include de la sortie
standard d'un script CGI, au moyen du filtre
INCLUDES
fourni
par le module mod_include
. Le module
mod_ext_filter
permet quant � lui l'utilisation comme
filtres de programmes externes � Apache, de la m�me mani�re
qu'on peut utiliser des programmes CGI comme Handlers.
- R�ponses d'Erreurs Multilangues
- Les messages d'erreur envoy�s au navigateur existent � pr�sent en
plusieurs langues avec des documents SSI. Ces messages peuvent �tre
personnalis�s par l'administrateur afin de s'int�grer avec le site web.
- Simplification de la Configuration
- Beaucoup de directives, auparavant peu claires, ont �t� simplifi�es.
Les directives
Port
et BindAddress
, souvent
sources d'incompr�hension, ont disparus. D�sormais seule la directive
Listen
sert de liaison pour les
adresses IP; la directive ServerName
ne
pr�cise le nom du serveur et son port que pour les redirections et la
gestion des h�tes virtuels.
- Support natif de l'Unicode sous Windows NT
- Apache httpd 2.0 sur Windows NT utilise � pr�sent l'utf-8 pour tous les
noms de fichiers. Ces noms de fichiers sont directement traduits vers
l'encodage Unicode du syst�me de fichiers, ce qui permet le support
multilangue pour toutes les installations sur la famille NT de Windows, y
compris Windows 2000 et Windows XP.Ce support n'est pas fonctionnel
pour Windows 95, 98 ni ME, qui utilisent les pages de code locales pour
les acc�s au syst�me de fichiers, comme auparavant.
- Mise � jour de la Biblioth�que d'Expressions Rationnelles
- Apache httpd 2.0 contient la biblioth�que
d'expressions rationnelles compatible Perl (Perl Compatible Regular
Expression Library - PCRE). Toutes les expressions rationnelles sont dont
g�r�es avec la syntaxe de Perl 5, plus puissante.

mod_ssl
- Apparu dans Apache httpd 2.0, ce module est une interface aux protocoles de
chiffrement SSL/TLS fournis par OpenSSL.
mod_dav
- Apparu dans Apache httpd 2.0, ce module impl�mente les sp�cifications HTTP de
gestion distribu�e de versions et de r�daction (Distributed Authoring and
Versioning - DAV), destin�es � la mise en ligne et � la maintenance des
contenus Web.
mod_deflate
- Module apparu dans Apache httpd 2.0, mod_deflate permet aux navigateurs qui
le supportent de demander la compression des contenus envoy�s par le serveur.
Cela a l'avantage de r�duite l'occupation de la bande passante.
mod_auth_ldap
- Apparu dans Apache httpd 2.0.41, ce module permet aux administrateurs
d'utiliser un arbre LDAP pour g�rer la base d'utilisateurs pour les
Authentifications Basiques HTTP. Un module voisin,
mod_ldap
, permet de globaliser les connexions � l'arbre LDAP
et de garder en m�moire cache ces acc�s.
mod_auth_digest
- Am�liore les fonctions de cache sur une session entre les diff�rents
processus, en utilisant de la m�moire partag�e.
mod_charset_lite
- Apparu dans Apache httpd 2.0, ce module exp�rimental permet la conversion
et l'enregistrement entre jeux de caract�res.
mod_file_cache
- Apparu dans Apache httpd 2.0, ce module impl�mente les fonctionnalit�s du
module
mod_mmap_static
pr�sent du serveur
HTTP Apache 1.3, et offre des
fonctions plus avanc�es pour la gestion du cache.
mod_headers
- Ce module gagne beaucoup de flexibilit� avec Apache
httpd 2.0 : on peut
d�sormais l'utiliser pour modifier les en-t�tes des requ�tes
utilis�s par
mod_proxy
, et pour positionner les
en-t�tes des r�ponses de mani�re conditionnelle.
mod_proxy
- Le module proxy a �t� r��crit de A � Z. Il tire
maintenant avantage de la nouvelle infrastructure de filtrage, et impl�mente
un mandataire plus fiable, et conforme aux normes HTTP/1.1. De nouvelles
sections de configuration ajout�es �
<Proxy>
donnent un contr�le plus lisible et un traitement plus rapide des requ�tes
mandat�es ; les configurations surcharg�es <Directory
"proxy:...">
ne sont pas support�es. Le module a aussi �t�
fragment� en plusieurs modules qui g�rent chacun leur protocole :
proxy_connect
, proxy_ftp
et
proxy_http
.
mod_negotiation
- Une nouvelle directive,
ForceLanguagePriority
a �t� ajout�e,
elle permet de garantir que le client re�oit un seul document dans tous les
cas, au lieu de r�ponses NOT ACCEPTABLE ou MULTIPLE CHOICES. Les
algorithmes g�rant la n�gociation et les vues multiples (MultiViews) ont
�t� nettoy�s et donnent des r�ponses plus logiques. Un nouveau format de
carte de types (map type) qui peut g�rer le contenu de documents a
aussi �t� ajout�.
mod_autoindex
- Les listes auto-g�n�r�es par Autoindex sont � pr�sent
configurables, et peuvent utiliser des tables HTML pour une mise en forme plus propre.
L'ordre d'affichage des fichiers est �galement finement param�trable,
comme pour le tri par version, et le filtrage par caract�res jokers du
listage du r�pertoire.
mod_include
- De nouvelles directives permettent de modifier la valeur par d�faut
des drapeaux start et end des �l�ments SSI. Ces directives
permettent � la configuration d'affichage de dates et heures d'�tre
effectu�e dans le fichier de configuration principal, plut�t que dans le
document SSI. Les r�ponses donn�es par des recherches par expressions
rationnelles (qui g�rent � pr�sent les regex Perl) sont
recup�r�es au moyen des variables
$0
� $9
.
mod_auth_dbm
- Plusieurs bases de donn�es DBM sont support�es, et s�lectionnables
via la directive
AuthDBMType
.