<-
Apache > Serveur HTTP > Documentation > Version 2.0

Utilisation des gestionnaires apache

Langues Disponibles:  en  |  es  |  fr  |  ja  |  ko  |  ru 

Ce document décrit l'utilisation des gestionnaires (Handlers) Apache.

top

Qu'est ce qu'un Gestionnaire ?

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 :

top

Exemples

Modifier un contenu statique au moyen d'un script CGI

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.

Fichiers contenant des en-têtes HTTP

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>

top

Note aux programmeurs

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.

Langues Disponibles:  en  |  es  |  fr  |  ja  |  ko  |  ru