Nous utilisons des cookies pour améliorer votre expérience. En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies.


Politique de confidentialité
Réseaux informatiques et Internet
Modèles réseaux
Couche application
Couche de transport
Couche réseau (ou internet)
Couche liaison de données
Couche physique

HyperText Transfer Protocol (HTTP)

 

HyperText Transfer Protocol (HTTP)

L'HyperText Transfer Protocol (HTTP), le protocole de couche application du Web, est au cœur du Web. Il est défini dans [RFC 1945], [RFC 7230] et [RFC 7540]. HTTP est implémenté dans deux programmes : un programme client et un programme serveur. Le programme client et le programme serveur, s'exécutant sur des systèmes d'extrémité différents, communiquent entre eux en échangeant des messages HTTP. HTTP définit la structure de ces messages et comment le client et le serveur échangent les messages.

Une page Web (également appelée document) est constituée d'objets. Un objet est simplement un fichier, tel qu'un fichier HTML, une image JPEG, un fichier Javascript, un fichier de feuille de style CSS ou une vidéo, qui est adressable par une seule URL. La plupart des pages Web se composent d'un fichier HTML de base et de plusieurs objets référencés. Par exemple, si une page Web contient du texte HTML et cinq images JPEG, la page Web comporte six objets : le fichier HTML de base plus les cinq images. Le fichier HTML de base référence les autres objets de la page avec les URL des objets. Chaque URL a deux composants : le nom d'hôte du serveur qui héberge l'objet et le nom de chemin de l'objet.

HTTP définit comment les clients Web demandent des pages Web aux serveurs Web et comment les serveurs transfèrent les pages Web aux clients.

Lorsqu'un utilisateur demande une page Web (par exemple, clique sur un lien hypertexte), le navigateur envoie des messages de demande HTTP pour les objets de la page au serveur. Le serveur reçoit les demandes et répond avec des messages de réponse HTTP qui contiennent les objets.

HTTP utilise TCP comme protocole de transport sous-jacent. Le client HTTP initie d'abord une connexion TCP avec le serveur. Une fois la connexion établie, le navigateur et les processus serveur accèdent à TCP via leurs interfaces socket. Le client envoie des messages de requête HTTP dans son interface socket et reçoit des messages de réponse HTTP de son interface socket. De même, le serveur HTTP reçoit des messages de requête de son interface socket et envoie des messages de réponse dans son interface socket. Une fois que le client envoie un message dans son interface socket, le message n'est plus entre les mains du client et est « entre les mains » de TCP.

Rappelons que TCP fournit un service de transfert de données fiable vers HTTP. Cela implique que chaque message de requête HTTP envoyé par un processus client arrive finalement intact au serveur ; de même, chaque message de réponse HTTP envoyé par le processus serveur arrive finalement intact au client. Ici, nous voyons l'un des grands avantages d'une architecture en couches. HTTP n'a pas à se soucier des données perdues ou des détails de la façon dont TCP récupère de la perte ou de la réorganisation des données au sein du réseau. C'est le travail de TCP et des protocoles dans les couches inférieures de la pile de protocoles.

La version originale de HTTP s'appelle HTTP/1.0 et remonte au début des années 1990 [RFC 1945]. À partir de 2020, la majorité des transactions HTTP ont lieu sur HTTP/1.1 [RFC 7230]. Cependant, de plus en plus de navigateurs et de serveurs Web prennent également en charge une nouvelle version de HTTP appelée HTTP/2 [RFC 7540].

Partager ce cours avec tes amis :
Rédigé par ESSADDOUKI Mostafa
ESSADDOUKI
The education of the 21st century opens up opportunities to not merely teach, but to coach, mentor, nurture and inspire.