Qu'est-ce que HTTP ?
Le protocole de transfert hypertexte (HTTP) est un ensemble de règles pour le transfert de fichiers multimédias sur le web. HTTP est un protocole de couche application qui spécifie les procédures de communication partagées et les méthodes d'interface utilisées par les clients ou les serveurs dans un réseau de communication.
HTTP est un protocole sans état qui joue un rôle essentiel dans l'introduction des cookies. Il communique entre les clients et les serveurs et effectue un ensemble de requêtes et de réponses.
Un client ou un navigateur envoie une requête HTTP au web. Le serveur web reçoit la requête, exécute une application pour la traiter et renvoie une réponse HTTP au navigateur. Cette interaction entre les clients et les serveurs aide les gens à visualiser et à transférer des fichiers sur le web. Certaines entreprises peuvent utiliser un logiciel de protocole de transfert de fichiers pour aider dans le processus.
Comment fonctionne HTTP
HTTP est un protocole utilisé pour communiquer entre les serveurs et les appareils clients lors de l'utilisation de sites web ou d'applications web. Son fonctionnement est décrit ci-dessous.
- Les ressources échangées sur Internet entre les appareils clients et les serveurs. L'appareil client partage une requête avec le serveur pour envoyer des ressources pour charger les fichiers de la page web. Le serveur répond en partageant des ressources. Toutes les requêtes/réponses partagent des sous-documents qui contiennent des données détenues dans le navigateur web du client pour afficher la page web.
- Un navigateur web est un client qui envoie la requête à un serveur. Un serveur web contient également un démon HTTP, un programme qui s'exécute en tant que processus en arrière-plan. Ce programme attend les requêtes HTTP et les traite lorsqu'elles arrivent.
- Les trois principaux types de messages HTTP sont GET, POST et HEAD. Dans le premier type, les messages envoyés au serveur contiennent uniquement une URL. Le serveur traite la partie de données optionnelle de l'URL et envoie le résultat au navigateur. Dans le deuxième type, les messages placent des paramètres de données optionnels dans le corps du message de requête au lieu de les ajouter à la fin de l'URL. Le troisième type est similaire aux requêtes GET ; le serveur renvoie uniquement les informations d'en-tête plutôt que l'URL entière.
- Le navigateur démarre une connexion de protocole de contrôle de transmission (TCP) au serveur pour initier la communication avec un serveur HTTP. Par défaut, le port 80 du serveur est utilisé pour les sessions de navigation web.
- Une fois qu'une session est établie et que l'utilisateur visite la page web, cela déclenche l'envoi et la réception de messages HTTP.
- Étant donné que HTTP est un système sans état, la connexion HTTP est abandonnée une fois la requête terminée, contrairement aux protocoles de transfert de fichiers tels que FTP. Cela signifie que la connexion se ferme une fois que le navigateur web envoie une requête et que le serveur y répond.
Types de méthodes de requête HTTP
Les méthodes de requête les plus couramment utilisées sont mentionnées ci-dessous.
- GET lit et récupère des données d'un serveur. Le code de statut HTTP devient 200 OK lorsque les données collectées auprès du serveur sont exactes.
- POST transmet des données au serveur. En cas de création réussie, il produit un code de statut de 201.
- PUT modifie les données du serveur. Il remplace tout le contenu d'une position spécifique par les données de la charge utile du corps. Il en génère un si aucune ressource ne correspond à la requête.
- PATCH fonctionne de manière similaire à une requête PUT, mais modifie uniquement une partie des données.
- DELETE supprime des données d'une position particulière sur le serveur.
Composants d'une requête HTTP
Une requête HTTP comprend cinq composants clés.
- Méthodes HTTP contiennent un ensemble de méthodes de requête qui effectuent des actions dédiées, y compris GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS et TRACE. Les actions peuvent être étendues si nécessaire.
- Identifiant de ressource uniforme (URI) est une séquence de caractères unique qui identifie la ressource logique ou physique utilisée par une technologie web.
- HTTP a quatre versions : HTTP v0.9, HTTP v1.0, HTTP v1.1 et HTTP v2.0. Bien que HTTP v1.1 soit couramment utilisé, HTTP v2.0 est considéré comme l'avenir des versions HTTP.
- En-tête de requête contient plus d'informations sur le contexte de la requête ou le client demandant la ressource. Par exemple : Accept-*, Accept-Encoding.
- La charge utile commande aide les utilisateurs à récupérer du contenu, à interroger la taille du contenu ou à remplacer tout contenu. Par exemple : HTTP_REQUEST_DATA et HTTP_RESPONSE_DATA.
Codes de statut de réponse HTTP
Les codes de statut de réponse HTTP indiquent si une requête particulière a été complétée. Les réponses sont généralement classées en catégories ; plusieurs codes de statut existent dans chaque catégorie. Chaque code représente une action particulière.
- Réponses informationnelles incluent 100 Continue, 101 Switching Protocols, 102 Processing et 103 Early Hints.
- Codes de réponse réussie sont 200 OK, 201 Created, 202 Accepted, 203 Non-Authoritative Information, 204 No Content, 205 Reset Content, 206 Partial Content, 207 Multi-Status, 208 Already Reported, 226 IM et Used.
- Messages de redirection codes sont 300 Multiple Choices, 301 Moved Permanently, 302 Found, 303 See Other, 304 Not Modified, 305 Use Proxy, 306 Unused, 307 Temporary Redirect et 308 Permanent Direct.
- Réponses d'erreur client incluent 400 Bad Request, 401 Unauthorized, 402 Payment Required, 403 Forbidden, 404 Not Found, 405 Method Not Allowed, 406 Not Acceptable, 407 Proxy Authentication Required, 408 Request Timeout, 409 Conflict, 410 Gone et plusieurs autres.
- Réponses d'erreur serveur incluent 500 Internal Server Error, 501 Not Implemented, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout, 505 HTTP Version Not Supported, etc.
Proxies HTTP
Voici quelques détails notables sur les proxies HTTP.
- Les proxies HTTP ou serveurs proxy sont des serveurs de couche application, des ordinateurs et d'autres machines qui agissent comme intermédiaires entre le client et le serveur.
- Lorsqu'une requête web est envoyée à un site web en utilisant un proxy, elle va au serveur proxy en texte clair. Le serveur proxy analyse et envoie une nouvelle proposition au site web, changeant l'adresse IP de l'utilisateur. Une fois que le site web reçoit la requête, il répond au serveur proxy.
- Trois types de proxies sont basés sur l'anonymat. Ce sont le proxy transparent, le proxy anonyme et le proxy élite/hautement anonyme.
HTTP vs. HTTPS
HTTP et HTTPS diffèrent en termes de sécurité, de performance et d'avantages en matière d'optimisation pour les moteurs de recherche.
HTTP permet la communication entre les systèmes en transférant des informations et des données sur un réseau. Alors que le protocole de transfert hypertexte sécurisé (HTTPS) est similaire à HTTP, ce protocole assure une communication sécurisée entre les serveurs web et les navigateurs lors de l'envoi de données. HTTPS utilise un protocole de sécurité numérique avec des clés cryptographiques pour le chiffrement et la validation.
HTTP n'a pas de chiffrement. Cela signifie que la falsification de messages, le vol de données et l'écoute clandestine sont plus susceptibles de se produire qu'avec HTTPS, qui est sécurisé par une couche de sockets sécurisés (SSL). Les données comme l'identifiant utilisateur et le mot de passe sont chiffrées. Alors que le protocole HTTP fonctionne dans la couche application, le protocole HTTPS fonctionne dans la couche transport.
L'utilisation de HTTP et HTTPS varie en fonction du type de site ou de données que les utilisateurs peuvent exécuter. Cependant, il est également vrai que HTTPS est le protocole standard pour la plupart des sites web de nos jours. Passer de HTTP à HTTPS implique d'obtenir et d'installer un certificat SSL pour le site web.
En savoir plus sur le commutateur d'étiquettes multiprotocole (MPLS) pour comprendre le mécanisme de routage du trafic utilisé dans les réseaux de télécommunications.

Sagar Joshi
Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.