Comment fonctionne HTTP: explication du protocole de transfert hypertexte

Le protocole de transfert hypertexte fournit un protocole réseau standard que les navigateurs Web et les serveurs utilisent pour communiquer. Vous voyez HTTP lorsque vous visitez un site Web car le protocole apparaît dans l'URL (par exemple, http://www.lifewire.com).

Ce protocole est similaire à d'autres, comme le protocole de transfert de fichiers, en ce sens qu'il est utilisé par un programme client pour demander des fichiers à un serveur distant. Dans le cas de HTTP, un navigateur Web demande des fichiers HTML à un serveur Web, qui s'affichent ensuite dans le navigateur avec du texte, des images, des liens hypertexte et des ressources associées.

Étant donné que les navigateurs communiquent à l'aide de HTTP, vous pouvez généralement supprimer le protocole d'une URL lorsque vous le saisissez dans la barre d'adresse du navigateur.

Histoire de HTTP

Tim Berners-Lee a créé la norme HTTP initiale au début des années 1990 dans le cadre de son travail de définition de l'original World Wide Web. Trois versions principales ont été déployées au cours des années 1990:

  • HTTP 0.9: Support des documents hypertextes de base.
  • HTTP 1.0: Extensions pour prendre en charge les sites Web riches.
  • HTTP 1.1: Développé pour répondre aux limitations de performances de HTTP 1.0, spécifiées dans Internet RFC 2068.

La dernière version, HTTP 2.0, est devenue une norme approuvée en 2015. Il maintient la compatibilité descendante avec HTTP 1.1 mais offre des améliorations de performances supplémentaires.

Alors que la norme HTTP ne chiffre pas le trafic envoyé sur un réseau, la norme HTTPS ajoute un chiffrement à HTTP via l'utilisation de Couche de sockets sécurisés ou, plus tard, Transport Layer Security.

Comment fonctionne HTTP

HTTP est un protocole de couche application construit sur TCP qui utilise un communication client-serveur maquette. Les clients et serveurs HTTP communiquent via des messages de demande et de réponse. Les trois principaux types de messages HTTP sont GET, POST et HEAD.

  • HTTP OBTENIR: Les messages envoyés à un serveur ne contiennent qu'un URL. Aucun ou plusieurs paramètres de données facultatifs peuvent être ajoutés à la fin de l'URL. Le serveur traite la partie de données facultative de l'URL, si elle est présente, et renvoie le résultat (une page Web ou un élément d'une page Web) au navigateur.
  • POST HTTP: les messages placent tous les paramètres de données facultatifs dans le corps du message de demande plutôt que de les ajouter à la fin de l'URL.
  • TÊTE HTTP: les requêtes fonctionnent de la même manière que les requêtes GET. Au lieu de répondre avec le contenu complet de l'URL, le serveur renvoie uniquement les informations d'en-tête (contenues dans la section HTML).
Un message HTTP GET.

Le navigateur initie la communication avec un serveur HTTP en initiant une connexion TCP au serveur. Les sessions de navigation Web utilisent le port 80 du serveur par défaut, bien que d'autres ports tels que 8080 soient parfois utilisés à la place.

Une fois la session établie, vous déclenchez l'envoi et la réception de messages HTTP en visitant la page Web.

HTTP est ce qu'on appelle un système sans état. Cela signifie que, contrairement à d'autres protocoles de transfert de fichiers tels que FTP, la connexion HTTP est abandonnée une fois la demande terminée. Ainsi, une fois que votre navigateur Web a envoyé la demande et que le serveur répond avec la page, la connexion se ferme.

Dépannage HTTP

Les messages transmis via HTTP peuvent échouer pour plusieurs raisons:

  • Erreur de l'utilisateur.
  • Dysfonctionnement du navigateur Web ou du serveur Web.
  • Erreurs dans la création de pages Web.
  • Problèmes de réseau temporaires.

Lorsque ces échecs se produisent, le protocole capture la cause de l'échec et signale un code d'erreur au navigateur appelé un Ligne/code d'état HTTP. Les erreurs commencent par un certain nombre pour indiquer de quel type d'erreur il s'agit.

Par exemple, les erreurs avec un code d'échec commençant par quatre indiquent que la demande de la page ne peut pas être complétée correctement, ou que la demande contient le mauvais syntaxe. Par exemple, 404 erreurs signifient qu'une page Web est introuvable; certains sites Web proposent même des pages d'erreur 404 personnalisées amusantes.