Le protocole HTTP (Hypertext Transfer Protocol) est l'ensemble des règles permettant de transférer des fichiers tels que du texte, des images, du son, de la vidéo et d'autres fichiers multimédias sur le Web. Dès qu'un utilisateur ouvre son navigateur Web, il utilise indirectement le protocole HTTP. Retrouvez toutes les explications dans cet article.
Sommaire
Le protocole de transfert hypertexte (HTTP) est le protocole de communication qui permet de transférer des informations via des fichiers (HTML) sur le World Wide Web.
Conçu au début des années 1990, HTTP est un protocole extensible qui a évolué au fil du temps. C'est ce qu'on appelle un protocole de couche d'application, et il est transmis par le protocole TCP ou TLS. Comme il est extensible, il est utilisé non seulement pour transmettre des documents hypertextes HTTP, mais aussi des images ou des vidéos, ou encore pour envoyer des données ou du contenu à des serveurs, comme dans le cas des formulaires.
La méthode HTTP est à la base de tout échange de données sur le Web. Elle suit un schéma requête-réponse entre un client et un serveur. Chaque action de l’utilisateur, comme la saisie d’une URL ou un clic sur un lien par exemple, est convertie en requête HTTP auprès du serveur. Celui-ci renvoie alors un message de réponse au client, de sorte que l’utilisateur voit le résultat de sa requête s’afficher dans le navigateur.
Le protocole HTTP fonctionne au-dessus de la suite de protocoles TCP/IP, qui constitue la base d'Internet. La dernière version de HTTP est HTTP/2, qui a été publiée en mai 2015.
HTTP est également un protocole sans état, c'est-à-dire qu'il ne stocke aucune information sur les connexions précédentes. Or, le développement d'applications Web doit souvent maintenir l'état. Pour ce faire, on utilise des cookies, qui sont des informations qu'un serveur peut stocker sur le système du client. Cela permet aux applications Web de suivre les utilisateurs et leur activité en ligne, car les cookies peuvent être stockés sur le client pendant une période indéfinie.
Le fonctionnement de HTTP est basé sur un schéma “requête-réponse” entre le serveur web et l'agent utilisateur, autrement dit, le client qui fait la demande de transmission de données. Un client peut être un navigateur web ou les robots d'exploration du web (web crawlers ou web spiders) qui inspectent les pages existantes.
Le serveur fournit au client une réponse structurée et dotée d'une série de métadonnées, qui établit les directives pour le lancement, le développement et la clôture de la transmission d'informations. Ce sont les méthodes de requête, c'est-à-dire les commandes qui déclenchent l'exécution de ressources spécifiques dont les fichiers sont stockés sur le serveur.
Par exemple, en ouvrant une page Web spécifique, l'échange d'informations entre le navigateur Web et le serveur établira comment les informations doivent être transmises, où se trouvent les images et dans quel ordre elles me seront affichées, etc. Cet échange de commandes de requête et de codes de réponse aboutit à l’affichage sur l’appareil des mêmes informations que celles contenues à l'origine sur le serveur, qui peut se trouver à des milliers de kilomètres.
Une requête HTTP est un message qu'un ordinateur envoie à un autre en utilisant le protocole HTTP. Une requête HTTP est divisée en trois parties : la ligne de requête, l'en-tête et le corps. Une réponse HTTP est également divisée en trois parties : ligne d'état, en-tête et corps.
La ligne de requête comprend la méthode HTTP, l'URI de la requête et le protocole HTTP à utiliser.
Les en-têtes sont des métadonnées envoyées dans la requête pour fournir des informations sur celle-ci. Chaque en-tête est spécifié avec un nom, puis deux points suivis de la valeur de cet en-tête. L’en-tête de la requête peut lui-même contenir plusieurs en-têtes.
Le corps de la requête comprend les informations supplémentaires envoyées au serveur. Il peut par exemple indiquer le nom d’utilisateur et le mot de passe d’une personne cherchant à se connecter, les réponses apportées à un formulaire, et bien d’autres informations. En d'autres termes, le corps de la requête représente le contenu transmis au serveur.
Retrouvez ci-dessous la liste des principales commandes pouvant être incluses dans une requête HTTP.
Commande | Description |
---|---|
GET | Requête d’une ressource spécifique en son ensemble |
HEAD | Requête de la ligne d’en-tête d’une ressource |
POST | Ajout de contenu, de messages ou de données vers une nouvelle page d’une ressource web existante |
PUT | Modification d’une ressource existante ou création d’une nouvelle URI si nécessaire |
DELETE | Suppression d’une ressource web spécifique |
TRACE | Affichage des modifications et ajouts apportés à la ressource |
OPTIONS | Affichage des méthodes HTTP disponibles pour une URL spécifique |
CONNECT | Conversion de la requête en tunnel TCP/IP |
PATCH | Modification partielle de la ressource |
Lorsque le client envoie une requête HTTP, le serveur doit répondre avec une réponse HTTP. La réponse HTTP a également sa propre structure, similaire à la structure de la requête :
Voici une liste comprenant certains codes de réponse les plus fréquemment retrouvés en HTTP :
Code de réponse | Description |
---|---|
200 OK | Signifie que la requête, telle que GET ou POST, a été accomplie correctement. |
300 Moved Permanently | L’URL correspondant aux données demandées a changé définitivement. |
401 Unauthorized | Le client ou l’utilisateur ayant envoyé la requête n’est pas reconnu. |
403 Forbidden | L’identité du client est connue, mais celui-ci n’a pas l’autorisation d’accéder à la ressource. |
404 Not Found | C’est le code d’erreur le plus fréquent : l’URL n’a pas été reconnue ou la ressource demandée n’existe pas. |
500 Internal Server Error | Le serveur a rencontré une erreur inconnue l’empêchant d’accéder à la requête. |
Malheureusement, HTTP n'est pas un protocole sécurisé. Il y a différentes raisons à cela :
Il existe plusieurs façons d'améliorer votre cybersécurité et de surmonter les failles de sécurité du protocole HTTP.
La sécurité en ligne commence par un simple clic.
Restez en sécurité avec le chef de file mondial en matière de VPN