dernière mise à jour :
le 5 juin 2002

Introduction  
 
Présentation
Conditions de travail
Panel de serveurs

Apache  
 
Fonctionnement
Modules
Solutions d'optimisation

Caching PHP  
 
Présentation
Cache de pages
Caches d'opcodes

Exemple  
 
Optimisation sur Wysistat

Liens  
 
Apache 1.3
PHP Accelerator
ID.fr
Mesure d'audience

Etude et optimisation
d'un serveur Web

 

Fonctionnement d'Apache version 1.3

 

Configuration
Etapes du traitement d'une requête
Structure d'un module
Traitement de la requête


Configuration

La configuration d'Apache s'effectue par l'intermédiaire d'un fichier " httpd.conf ". Il contient des commandes qui permettent de régler les différents paramètres de configuration du serveur. Ce fichier est lu par Apache au démarrage ; par conséquent toute modification de ce fichier visant à ajuster certains paramètres, nécessite le redémarrage du serveur pour être prise en compte.


Etapes du traitement d'une requête

Le diagramme ci-dessous montre la succession des étapes de traitement :

Traduction de l'URI en nom de fichier

L'URI du document demandé est de la forme /docs/monDocument.html et est présente dans l'entête HTTP de la requête (l'URL de ce document est de la forme http://www.mondomaine.com/docs/monDocument.html).
Le chemin interne est
/var/httpd/apache/docs/monDocument.html.
Cette étape permet donc de convertir l'URI en nom de fichier ou plutôt en chemin interne où peut être trouvé le document sur le serveur.

 
Analyse de l'entête de la requête

Le serveur analyse les entêtes HTTP de la requête, ce qui lui permettra d'exécuter certains traitements en fonction de ces entêtes.

 
Contrôle d'accès

Des restrictions d'accès peuvent être définies sur les ressources du serveur, en fonction de certaines caractéristiques du client (en géneral son adresse IP, ou le nom de sa machine). Par exemple, on peut autoriser l'accès un répertoire donné uniquement aux clients dont l'adresse IP est 127.0.0.1 ( accès uniquement depuis la machine où est installé le serveur). On vérifie ici que les caractéristiques du client respectent les contrôles d'accès sur les ressources demandées.

 
Vérification d'identité

On vérifie si le mot de passe et le login fournis par le client existent et sont valides (l'utilisateur est-il celui qu'il prétend être ?) .

 
Vérification de l' autorisation d'accès

Certaines ressources du serveur sont protégées, en plus de l'authentification par login et mot de passe, par certaines directives : accès uniquement si le client est propriétaire du fichier, ou seulement s'il appartient à un groupe d'utilisateurs donné, … . Cette étape vérifie que le client a bien le droit d'accéder au fichier demandé, si celui ci est protégé par les directives précédentes.

 
Détermination du type MIME de l'objet requis

Il s'agit ici de déterminer quel est le type MIME du document demandé afin d'exécuter certaines actions (par exemple s'il s'agit d'un fichier CGI, il faudra le traiter en conséquence).

 
Emission de la réponse vers le client

L'entête HTTP de la réponse est constituée et envoyée au client, puis c'est le document lui-même (ou le résultat d'un traitement le cas échéant ) qui est envoyé au client.

 
Enregistrement de la requête

On enregistre une trace de la transaction effectuée en enregistrant dans un ou plusieurs fichiers de logs (suivant la configuration d'Apache) certaines données de cette transaction.

Ces étapes sont traitées en se référant à une succession de modules, qui implémente des gestionnaires (handlers) pour chaque étape.


Contact - English version