PrécédentSommaire

Le serveur Apache (3)

Le mécanisme des handlers permet d'effectuer les traitements appropriés sur les fichiers auxquels accèdent les clients connectés. Des appels aux différents handlers sont enchaînés jusqu'à ce que l'un d'eux réponde qu'il est capable de traiter ce cas. Ceux ci sont des modules qui peuvent être sélectionnés au moment de la mise en place d'Apache et il est d'ailleurs possible d'en développer de nouveaux pour s'occuper de situations spécifiques. Des données décrivant précisément la requête en cours leur sont passées dans un format standard afin qu'ils déterminent eux-mêmes s'ils sont concernés ou pas. La programmation de tels modules se fait habituellement en C, le langage le plus adapté à ce travail.

Les documents transmis par un serveur Web sont normalement statiques (figés). Il y a pourtant la possibilité d'obtenir un maximum de souplesse et d'effectuer un traitement quelconque grâce aux "scripts" CGI (Common Gateway Interface) appelés automatiquement. Ceux-ci sont en fait n'importe quel programme - respectant certaines conventions - exécutable sur le système supportant Apache. Sous Linux ils peuvent par exemple être écrits en Fortran, en C ou être des fichiers de commande du shell d'Unix (interprétés). Tel ou tel script sera lancé par le serveur en fonction de la requête dont il doit s'occuper. De cette façon, ce dernier peut être relié à une base de données ou à un autre logiciel particulier et intégrer les résultats qui sont fournis aux fichiers HTML visibles sur Internet (ou sur un intranet). Une application très courante est la visualisation du nombre de consultations d'une page : un compteur est géré pour chaque fichier et est incrémenté à chaque accès. Un script CGI est lancé à cette occasion et recrée par exemple une image (ne pas négliger l'esthétique) affichant la valeur en cours. Celle-ci est similaire à une illustration incluse dans le document.

La possibilité de faire n'importe quoi à l'aide de ces programmes est à la fois leur force et leur danger. Comme un exécutable inconnu venant de n'importe où pourrait très bien endommager des informations stockées par l'ordinateur hébergeant le site, la solution généralement employée est de limiter leur origine possible à un répertoire bien précis qui n'est accessible qu'à une seule personne et modifié prudemment.