HTTP

Communication entre navigateur et serveur

La communication entre le navigateur et le serveur se fait en deux temps :

  • Le navigateur effectue une requête HTTP

  • Le serveur traite la requête puis envoie une réponse HTTP

Requête HTTP

Une requête HTTP est un ensemble de lignes envoyé au serveur par le navigateur. Elle comprend :

  • Une ligne de requête : c'est une ligne précisant le type de document demandé, la méthode qui doit être appliquée et la version du protocole utilisée. La ligne comprend trois éléments devant être séparés par un espace :

    • La méthode (GET, HEAD, POST, PUT)

    • L'URL

    • La version du protocole utilisé par le client (généralement HTTP/1.0)

  • Les champs d'en-tête de la requête : il s'agit d'un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la requête et/ou le client (navigateur, système d'exploitation, ...). Chacune de ces lignes est composée d'un nom qualifiant le type d'en-tête, suivi de deux points (:) et de la valeur de l'en-tête

  • Le corps de la requête : c'est un ensemble de lignes optionnelles devant être séparées des lignes précédentes par une ligne vide et permettant par exemple un envoi de données par une commande POST lors de l'envoi de données au serveur par un formulaire.

ExempleRequête HTTP

GET http://www.commentcamarche.net HTTP/1.0

Accept : text/html

If-Modified-Since : Saturday, 15-January-2000 14:37:11 GMT

User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)

Réponse HTTP

Une réponse HTTP est un ensemble de lignes envoyées au navigateur par le serveur. Elle comprend :

  • Une ligne de statut : c'est une ligne précisant la version du protocole utilisé et l'état du traitement de la requête à l'aide d'un code et d'un texte explicatif. La ligne comprend trois éléments devant être séparés par un espace :

    • La version du protocole utilisé

    • Le code de statut

    • La signification du code

  • Les champs d'en-tête de la réponse: il s'agit d'un ensemble de lignes facultatives permettant de donner des informations supplémentaires sur la réponse et/ou le serveur. Chacune de ces lignes est composée d'un nom qualifiant le type d'en-tête, suivi de deux points (:) et de la valeur de l'en-tête

  • Le corps de la réponse : il contient le document demandé

ExempleRéponse HTTP

HTTP/1.0 200 OK

Date : Sat, 15 Jan 2018 14:37:12 GMT

Server : Microsoft-IIS/2.0

Content-Type : text/HTML

Content-Length : 1245

Last-Modified : Fri, 14 Jan 2000 08:25:13 GMT