Skip to main content

Le Protocole HTTP

Le World Wide Web utilise principalement, le protocole HTTP (Hyper Text Transfer Protocole). Les protocole HTTP est un protocole client serveur. En effet, un client, votre navigateur, va émettre une requête à l'intention d'un serveur, qui va en retour lui fournir une réponse.

La connexion s'effectue via le protocole réseau TCP. Les échanges se font au format texte et sont très codifiés.

Etudions plus en détail la requête et la réponse HTTP.

Requête HTTP

Une requête HTTP est constituée de plusieurs éléments

http_requestmessageexample.png

Méthode de requête (Http method)

Le premier mot de la première ligne correspond à la méthode de requête (ex : GET, POST, PUT, DELETE ...), permet de décrire ce que va faire la requête, détaillé sur la page suivante.

URL

Sur la première ligne, on retrouve également l'URL de la ressource intérogée, c'est le chemin de la ressource sur le serveur (par exemple /index.html).

Version HTTP

A la fin de la première ligne est affichée la version du protocole HTTP utilisée par cette requête (ex : HTTP/1, HTTP/1.1, HTTP/2).

En tête (Headers)

Ensuite, sur chaque ligne suivantes, on a les entêtes de la requête se présentent sous la forme d'un dictionnaire clé valeur qui renferme des méta-données sur la requête. Notamment utilisé pour l'authentification.

Corps de la requête (Request Body)

Certaines méthodes HTTP permettent de passer des données au serveur dans la requête, ces données se retrouvent dans le Body de la requête. La longueur du body est définie dans le Header Content-Length.

Réponse HTTP

La réponse HTTP est similaire à la requête, mais elle ne contient ni URL ni méthode, seulement des en-tête et un corps.

http_responsemessageexample.png

Status HTTP

A la fin de la première ligne figure le status HTTP, qui informe sur le résultat de la requpête. Il est constitué d'un code (200, 404...), et d'un texte (OK, NNOT FOUND...)

En tête (Headers)

Ensuite, sur chaque ligne suivantes, on a les entêtes de la requête se présentent sous la forme d'un dictionnaire clé valeur qui renferme des méta-données sur la réponse.

Corps de la requêteréponse (RequestResponse Body)

Souvent, le serveur renvoie des données en réponse, ces données se retrouvent dans le Body de la réponse. La longueur du body est définie dans le Header Content-Length.