Tout client web communique avec le port 80 d'un serveur HTTP par l'intermédiaire d'une, ou plusieurs, connexions TCP simultanées, chacune des connexions TCP ouvertes servant à récupérer l'un des composants de la page web.
Trois types de requêtes sont disponibles
requête url-demandé HTTP-version en-têtes (0 ou plus) <ligne blanche> corps de la requête (seulement pour une requête POST)Une réponse du serveur web se présente comme suit :
HTTP-version code-réponse phrase-réponse en-têtes (0 ou plus) <ligne blanche> corps de la réponseLes en-têtes de requêtes ou de réponses ont la forme :
nom-de-champ: valeuret se classent ainsi :
code | description |
1yz | non utilisé |
succès | |
200 | OK, requête réussie |
201 | OK, nouvelle ressource créée (commande POST) |
202 | requête acceptée mais traitement incomplet |
204 | OK, mais pas de contenu à envoyer |
redirection (à gérer par le client) | |
301 | le document demandé a été définitivement déplacé vers une autre url |
302 | le document demandé a été temporairement déplacé vers une autre url |
304 | le document n'a pas changé (dans le cas d'un GET conditionnel) |
erreur du client | |
400 | requête mal formulée |
401 | interdit, la requête nécessite une certification |
403 | interdit sasn raison sépcifique |
404 | document non trouvé |
erreur du serveur | |
500 | erreur interne du serveur |
501 | non implanté |
502 | mauvaise passerelle, réponse invalide d'une passerelle |
503 | service temorairement indisponible |
Ci -dessous est décrit un exemple de requête et réponse HTTP, après s'être connecté à un serveur web, par exemple avec un client telnet.
helios|~>telnet www.yahoo.fr 80 Trying 195.67.49.47... Connected to www.yahoo.fr. Escape character is '^]'. get / http/1.0 HTTP/1.0 200 OK Last-Modified: Mon, 26 Oct 1998 19:13:02 GMT Content-Type: text/html Content-Length: 13163 <head> <title>Yahoo! France</title> <base href="http://www.yahoo.fr/"> </head> <body> .... </body> </html>