HyperText Transfer Protocol (HTTP) est une méthode d'encodage et de transport des informations entre un client (tel qu'un navigateur web) et un serveur web. HTTP est le principal protocole de transmission d'informations sur Internet.
Les informations sont échangées entre les clients et les serveurs sous la forme de documents Hypertexte, d'où le nom HTTP. L'hypertexte est un texte structuré qui utilise des liens logiques ou hyperliens, entre des nœuds contenant du texte. Les documents hypertextes peuvent être manipulés à l'aide du langage de balisage hypertexte (HTML). Grâce au protocole HTTP et au langage HTML, les clients peuvent demander différents types de contenus (tels que du texte, des images, des vidéos et des données d'application) aux serveurs Web et d'application qui hébergent le contenu.
HTTP suit un paradigme demande-réponse dans lequel le client fait une demande et le serveur émet une réponse qui comprend non seulement le contenu demandé, mais aussi des informations d'état pertinentes sur la demande. Cette conception autonome tient compte de la nature distribuée d'Internet, où une demande ou une réponse peut passer par de nombreux routeurs et serveurs proxy intermédiaires. Elle permet également aux serveurs intermédiaires d'exécuter des fonctions à valeur ajoutée telles que l'équilibrage de charge, la mise en cache, le cryptage et la compression.
Le protocole HTTP est un protocole de couche application et son fonctionnement repose sur un protocole de couche réseau sous-jacent tel que le protocole de contrôle de transmission (TCP).
Les ressources HTTP, telles que les serveurs web, sont identifiées sur Internet à l'aide d'identifiants uniques appelés localisateurs de ressources uniformes (URL).