Protocole HTTP

Propriétés

HTTP : Hyper Text Transfert Protocol, protocole de transfert hypertexte.

Mis au point en même temps qu’ HTML par Tim Berners Lee en 1990.
S’appuie (comme les autres protocoles du Net) sur TCP/IP.
Permet l’échange de document HYPERTEXTE entre un serveur HTTP et un client HTTP sur le World Wide Web.

Par défaut le port utilisé sur ce type de requête sera 80.

Les versions actuellement utilisées sont la 1.0 et la 1.1

Voir la RFC 2616 du W3C pour la description complète du protocole, et notamment les paragraphes REQUEST et RESPONSE.

Le protocole le plus utilisé sur le NET.

Exemple :
Quand je tape l'adresse : http://fr.wikipedia.org/wiki/Accueil sur mon navigateur Mozilla ou bien Internet Explorer, je demande au serveur Wikipedia de transférer la page d'accueil de l'encyclopédie à mon navigateur, en utilisant le protocole HTTP.
En guise de réponse, le serveur enverra le document à ma machine et mon navigateur l'affichera sous forme de page au format HTML.

Les phases du dialogue HTTP

Le dialogue HTTP consiste en un échange de messages entre le client et le serveur, il s’effectue en plusieurs phases.

Coté client :

  1. Ouverture de la connexion vers le serveur HTTP, et formulation de la requête HTTP
  2. Envoi d’une entête précisant les caractéristiques du demandeur

Coté serveur :

  1. Traitement de la requête,
  2. Précision des caractéristiques du serveur et de l’information demandée
  3. Envoi de la réponse HTTP, en général il s’agit du document

Construction d’une requête HTTP

Une requête HTTP est une séquence de lignes envoyées au serveur par le client. Elle peut comprendre jusqu’à trois éléments :

  1. une ligne de requête elle-même composée de :
    • la méthode à utiliser : elle indique le type de requête.
    • l’adresse de la ressource demandée : l’URL
    • la version du protocole utilisée par le client : HTTP 1.0 ou HTTP 1.1
  2. une ou plusieurs lignes d’en-tête : facultatives, elles peuvent préciser les caractéristiques du navigateur, le type de contenu, l’adresse mel du client …
  3. une ou plusieurs lignes constituant le corps de la requête : facultatives également, elles doivent être séparées des lignes précédentes par une ligne vide (un retour chariot+1ligne blanche). Elles vont contenir par exemple les données d’un formulaire, dans le cas de la méthode POST.

En résumé, une requête HTTP aura la forme suivante , sachant que les caractères rn insèrent un retour chariot et saut de ligne.

METHODE URL VERSION rn
EN-TETE 1 : Valeur rn
EN-TETE 2: Valeur rn

EN-TETE N: Valeur rn

CORPS DE LA REQUETE

Les METHODES

GET et PUT sont les plus utilisées.

Les méthodes prises en charge par HTTP 1.0 sont les suivantes :

  • GET : demande de ressource (document simple ou programme CGI ou Script Server qui renvoie des informations).
  • HEAD : demande d’information sur le document : peut servir pour le cache (test de la date), pour évaluer le type et la taille du document, etc.
  • POST : envoi de données , via un formulaire en général.

Les paramètres sont transmis dans le corps de la requête, en général au format URL-encoded (param1=val&param2=val2)

  • PUT : stocke un document sur le serveur
  • DELETE : supprime un document du serveur (peu ou pas autorisé)
  • TRACE : demande de débogage (trace des serveurs proxy utilisés)
  • CONNECT : pour les connexions sécurisées HTTPS

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *