Serveur Apache HTTP Version 2.0
Ce document d�crit l'utilisation des gestionnaires (Handlers) Apache.
Modules Apparent�s | Directives Apparent�es |
---|---|
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.
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 et un gestionnaire � un fichier. (Voir aussi : Fichiers � Extensions Multiples.)
Les gestionnaires peuvent �tre int�gr�s au serveur, ou inclus
dans un module, ou encore �tre configur�s au moyen de la directive
Action
. Les
gestionnaires fournis par d�faut dans la distribution d'Apache
se pr�sentent comme suit :
default_handler()
qui est le
gestionnaire utilis� par d�faut pour g�rer les contenus
statiques. (noyau d'Apache)mod_asis
)mod_cgi
)mod_imap
)mod_info
)mod_status
)mod_negotiation
)Les directives ci-apr�s provoquent l'ex�cution du script
CGI footer.pl
� chaque requ�te de fichier
pr�sentant l'extension html
.
Action add-footer /cgi-bin/footer.pl
AddHandler add-footer .html
Le travail du script CGI est alors d'envoyer le document
demand� (d�sign� au moyen de la variable d'environnement
PATH_TRANSLATED
) en lui faisant subir au pr�alable
les transformations d�sir�es.
Les directives ci-apr�s activent le gestionnaire
send-as-is
, utilis� pour g�rer les fichiers
qui contiennent leurs propres en-t�tes HTTP. Tous les fichiers
contenus dans le r�pertoire /web/htdocs/asis/
seront trait�s par le gestionnaire send-as-is
,
sans tenir compte de leurs extensions.
<Directory /web/htdocs/asis>
SetHandler send-as-is
</Directory>
L'API d'Apache 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 request_rec
:
char *handler
Pour qu'un module utilise un gestionnaire, il suffit d'affecter
r->handler
avec le nom du gestionnaire avant
l'�tape invoke_handler
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.