Lorsque vous tapez un URL (Uniform Ressource Locator), par
exemple
http://www.april.org/association/index.html, votre navigateur
préféré va se connecter au serveur Web indiqué, c'est à dire le
programme installé sur la machine distante (dans notre exemple
www.april.org
), et qui écoute sur le port 80. Le serveur va chercher
le document en question sur son disque et l'envoie au navigateur, en
utilisant le protocole HTTP (HyperText Transfer Protocol). Il
peut s'agir de n'importe quel type de fichier, un fichier au format
HTML, une image, un fichier son etc.
Pour savoir comment et où
chercher le document, le serveur possède un ensemble de fichiers de
configuration chargés en mémoire à son lancement (qui, dans le cas de
notre installation, se trouvent dans le répertoire /usr/local/etc/httpd/conf
). Dans notre
exemple, le serveur ira chercher le fichier april.html
dans le
répertoire /usr/local/etc/httpd/htdocs/association
(où /usr/local/etc/httpd/htdocs/
est le répertoire racine du serveur). Un
autre exemple d'URL est
http://www.bocal.cs.univ-paris8.fr/~drieu/index.html. Le
caractère ~ indique que la chaîne qui suit correspond à un nom de
login sur la machine du serveur. Ainsi, dans ce cas, le serveur va
chercher le document en question dans le répertoire /home/drieu/public_html
(selon la configuration classique du
serveur). Le fichier index.html
se trouve dans ce répertoire. Les utilisateurs ont ainsi la possibilité de créer un
répertoire public_html
(accessible en lecture et exécution) dans leur
compte pour
publier sur le Web.
Mais ce type de document est statique, or il est possible d'accéder à de l'information dynamique. Une possibilité est l'utilisation de scripts CGI. En effet, ce programme est exécuté, par le serveur, en temps réel sur la machine distante, au moment où le navigateur fait une requête vers ce programme.
Un exemple assez puissant étant l'accès, via un formulaire HTML, à une base de données. Par l'intermédiaire du formulaire, vous saisissez les nom et prénom d'une personne. A l'aide d'un bouton 'valider' présent sur le formulaire, le serveur invoque alors un programme qui, à partir des informations saisies dans le formulaire, va interroger le moteur de votre base de données et envoyer en réponse un page au format HTML, contenant les informations concernant cette personne, que votre navigateur va alors afficher.
Mais ne nous attaquons pas tout de suite à des requêtes SQL, et
commençons par beaucoup plus simple. Pour montrer le dynamisme de
notre page, nous allons faire un programme qui affiche l'heure
courante dans une page HTML (exemple d'école, car beaucoup plus
facilement réalisable avec les Server Side Includes
).