Vous lisez : 3 Le protocole HTTP
Partie Précédente : 2 Les principes de fonctionnement
Partie Suivante : 4 Généralités sur le langage HTML
3 Le protocole HTTP
Comme indiqué précédemment, le protocole est le langage commun parlé par le client et
le serveur pour se comprendre et mener à bien les requêtes de l'utilisateur. Le protocole de loin
le plus utilisé sur le World Wide Web est le protocole HTTP (HyperText Transfer Protocol).
C'est un protocole développé spécialement pour le transfert de documents hypermedia écrits en
HTML. Dans cette optique, HTTP est un protocole sans état (à la différence de protocoles comme
FTP, il ne maintient pas d'information interne au cours d'une connexion) afin de traiter avec
un maximum d'efficacité des requêtes extrêmement simples mais nombreuses. Les documents
transmis sont typés pour permettre de construire des systèmes hypermedia.
3.1 Description
Le protocole HTTP est très simple. Une transaction HTTP se décompose en effet en quatre
phases :
- Connexion
- Requête
- Réponse
- Fermeture
La spécification d'HTTP/1.0 est maintenant stabilisée dans le RFC 1945 [3]. La prochaine
version HTTP/1.1 est pratiquement finalisée et une nouvelle génération est déjà en préparation
sous le nom HTTP-NG.
3.2 Le serveur HTTP
L'activité du programme serveur se limite à :
- attendre les requêtes d'un client en restant perpétuellement à l'écoute
- une fois reçue la requête, le serveur l'interprète et l'exécute, le plus souvent il renvoie en retour le fichier demandé par le client.
Le rôle principal du serveur est donc de renvoyer au client les fichiers qui lui sont demandés.
Ces fichiers contiennent la plupart du temps du langage HTML et des images en format GIF
ou JPEG mais ils peuvent contenir absolument n'importe quel autre type de données (texte brut,
Postscript, fichier son, programme exécutable, etc...)
Parfois le client demande au serveur un peu plus qu'un simple fichier, il peut lui demander
d'exécuter un programme et de lui renvoyer le résultat de ce programme, c'est ce qui se passe
par exemple lorsque, après avoir rempli les champs d'un formulaire de recherche, l'utilisateur
appuie sur le bouton Envoyer
du formulaire. Les données du formulaire sont passées par le
serveur à un programme externe qui les utilise pour produire un résultat qu'il renvoie au serveur
qui le fait passer au client. Le mécanisme par lequel le serveur et un programme externe échangent
des données en vue de construire un document à renvoyer au client est appelé Common
Gateway Interface (CGI) et sort du cadre de ce document [1][2][4](Figure 2)
. Comme le lancement
d'une application externe au serveur est assez lourd, certains serveurs permettent également
d'intégrer une application (sous la forme d'une librairie) dans l'espace du serveur au
moyen d'appels normalisés (NSAPI de Netscape ou ISAPI de Microsoft), mais là encore cela
dépasse le simple cadre de ce document.
Copyright ©1996,1998 EPFL/DI-LSP.