104 CHAPITRE 8. PROGRAMMATION INTERNET EN JAVA
8.1.2 Un exemple de protocole d’application : HTTP
Notion de protocole d’application.- Nous venons de voir comment TCP/IP permet d’´etablir une
connection Internet entre deux ports de fa¸con `a ce que deux ordinateurs puissent ´echanger des
donn´ees. Chaque application Internet poss`ede son propre protocole d’application, qui d´ecrit
comment les donn´ees de cette application particuli`ere sont transmises.
Le protocole HTTP.- Une des applications les plus utilis´ees sur Internet, avec le courrier ´electro-
nique, est le web. Celui-ci utilise deux protocoles : HTTP (pour Hypertext Transfer Protocol)
qui est utilis´e pour la transmission des donn´ees (qui est du texte) et HTML (pour HyperText
Markup Language) pour la description du formatage.
Nous avons d´ej`a rencontr´e HTML `a propos des applets. Int´eressons-nous ici `a HTPP pour
recevoir des donn´ees brutes.
Rˆole du navigateur.- Supposons que nous tapions l’adresse web (ou URL pour Uniform Resource
Locator, prononc´e hh Earl ii) :
http://java.sun.com/index.html
sur notre navigateur de fa¸con `a charger la page correspondante. Que se passe-t-il alors ? Le
navigateur effectue les ´etapes suivantes :
– il examine la partie de l’URL comprise entre la double oblique et la premi`ere oblique simple
(ici hh java.sun.com ii) pour identifier l’ordinateur auquel se connecter. Puisque cette partie
de l’URL contient des lettres, il doit s’agir d’un nom de domaine, aussi le navigateur effectue
une requˆete aupr`es d’un serveur DNS pour en obtenir l’adresse IP.
– le navigateur d´eduit du pr´efixe hh http ii de l’URL (c’est-`a-dire ce qui pr´ec`ede hh :// ii) que
le protocole que l’on veut utiliser est HTTP, aussi choisit-il le port 80 par d´efaut.
– il ´etablit alors une connection Internet au port 80 de cette adresse IP.
– le navigateur d´eduit du suffixe hh /index.html ii que l’on veut voir afficher le fichier de
nom physique hh /index.html ii. Il envoie donc une requˆete, format´ee comme commande
HTTP, `a travers la connection qu’il vient d’´etablir. Cette requˆete est de la forme :
GET /index.html HTTP/1.0
ligne blanche
– le serveur web de l’ordinateur distant re¸coit la requˆete, la d´ecode, cherche le fichier de nom
physique hh /index.html ii dont le chemin est relatif `a un certain r´epertoire et en envoie le
contenu au navigateur de votre ordinateur.
– le navigateur re¸coit ce fichier, qui est cens´e ˆetre un fichier texte de format HTML, traduit
le code HTML pour faire apparaˆıtre la page web. Si le fichier contient, par exemple, des
images le navigateur effectue une requˆete GET par image.
Les commandes HTTP.- Le tableau ci-dessous donne les commandes HTTP :
Commande Signification
GET Renvoie l’item demand´e
HEAD Renvoie seulement l’en-t^ete de cet item
OPTIONS Renvoie les options de communication d’un item
POST Fournit des donn´ees `a une commande du serveur et
renvoie le r´esultat
PUT Stocke un item sur le serveur
DELETE Efface un item du serveur
TRACE Donne le chemin de la communication