Le Web, une architecture client-serveur


Il est surement inutile de rappeler ce qu'est le Web. Pour résumer ce que vous savez déjà :

Fonctionnement

Imaginons que vous regardiez une page Web, par exemple <"http://www.elysee.fr/index.htlm">. Vous cliquez sur un lien qui désigne <a href="idees/dissolution.html">

Le navigateur pose la question

Le premier travail de votre navigateur va être de combiner ce lien relatif avec la position courante, pour former l'adresse complète <"http://www.elysee.fr/idees/dissolution.fr">.

Le navigateur va ensuite interroger le serveur www.elysee.fr, pour lui demander le document idees/dissolution.html

Le serveur fournit la réponse

Le serveur Web reçoit cette requête, et consulte l'arborescence de ses pages à la recherche du document demandé. Il envoie alors le contenu du document, éventuellement accompagné d'une entête qui précise sa nature, sa taille, sa date de mise-à-jour etc.

Le client affiche la réponse

Le navigateur analyse l'entête du document, et l' "affiche" de la façon qu'il convient, au besoin en sous-traitant à des programmes spécialisés (par exemple pour les sons, les films, les fichiers PostScript ou PDF).

Quelques essais pour voir

On peut aussi interroger un serveur Web sans navigateur !

Après tout, un serveur Web, ce n'est un programme qui lit des requêtes en entrée et fournit des résultats en sortie. Les communications entre le client et le serveur se font par le protocole TCP, généralement sur le port 80. Il suffit d'utiliser le programme telnet.

Un essai:

tuba:~ telnet www.info.prive 80
Trying 172.16.94.29...
Connected to quesnay.info.prive.
Escape character is '^]'.
GET /
....
D'autres essais: Notez la présence de l'entête "Content-type", qui indique le type du document.

Et les scripts ?