HTTP (Hypertext Transfer Protocol) fournit une norme de protocole réseau que les navigateurs Web et les serveurs utilisent pour communiquer. Il est facile de reconnaître cela lorsque vous visitez un site Web, car il est écrit directement dans l'URL (par exemple. http://www.Go-Travels.com ).
Ce protocole est similaire à d'autres que FTP, en ce sens qu'il est utilisé par un programme client pour demander des fichiers à un serveur distant. Dans le cas de HTTP, il s’agit généralement d’un navigateur Web qui demande à un serveur Web des fichiers HTML, qui sont ensuite affichés dans le navigateur avec du texte, des images, des hyperliens, etc.
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 interrompue une fois la demande effectuée. Ainsi, une fois que votre navigateur Web a envoyé la demande et que le serveur a répondu à la page, la connexion est fermée.
Étant donné que la plupart des navigateurs Web sont définis par défaut sur HTTP, vous pouvez taper simplement le nom de domaine et laisser le navigateur remplir automatiquement la partie "http: //".
Histoire de HTTP
Tim Berners-Lee a créé le protocole HTTP initial au début des années 90 dans le cadre de son travail de définition du World Wide Web. Trois versions primaires ont été largement déployées au cours des années 1990:
- HTTP 0.9 (pour la prise en charge des documents hypertextes de base)
- HTTP 1.0 (extensions pour prendre en charge les sites Web riches et l'évolutivité)
- 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. Elle maintient une compatibilité ascendante avec HTTP 1.1 mais offre des améliorations de performances supplémentaires.
Bien que HTTP standard ne crypte pas le trafic envoyé sur un réseau, la norme HTTPS a été développée pour ajouter un cryptage à HTTP via l'utilisation de SSL (à l'origine) ou de la sécurité de la couche de transport (TLS).
Comment fonctionne HTTP
HTTP est un protocole de couche application construit sur TCP utilisant un modèle de communication client-serveur. Les clients et les serveurs HTTP communiquent via une requête HTTP et des messages de réponse. Les trois principaux types de messages HTTP sont GET, POST et HEAD.
- HTTP GET les messages envoyés à un serveur ne contiennent qu'une URL. Zéro ou plusieurs paramètres de données facultatifs peuvent être ajoutés à la fin de l'URL. Le serveur traite la partie facultative de données de l'URL, le cas échéant, et renvoie le résultat (une page Web ou un élément d'une page Web) au navigateur.
- HTTP POST 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 request fonctionne de la même manière que les requêtes GET. Au lieu de répondre avec l'intégralité du contenu de l'URL, le serveur renvoie uniquement les informations d'en-tête (contenues dans la section HTML).
Le navigateur initie la communication avec un serveur HTTP en établissant une connexion TCP avec le serveur. Les sessions de navigation Web utilisent le port de serveur 80 par défaut, bien que d'autres ports tels que 8080 soient parfois utilisés à la place.
Une fois la session établie, l’utilisateur déclenche l’envoi et la réception de messages HTTP en visitant la page Web.
Problèmes avec HTTP
Les messages transmis via HTTP peuvent ne pas être remis avec succès pour plusieurs raisons:
- erreur d'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 défaillances se produisent, le protocole en identifie la cause (si possible) et renvoie au navigateur un code d'erreur appelé 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 4xx indiquent que la demande de la page ne peut pas être complétée correctement ou qu'elle contient une syntaxe incorrecte. Par exemple, 404 erreurs signifient que la page est introuvable. certains sites Web ont même des pages d’erreurs 404 personnalisées amusantes.