Learning Center
Réseaux

Comprendre les requêtes HTTP : structure, méthodes et exemples

1 déc. 2025
Hostman Team
Hostman Team

HTTP est la clé de la communication sur Internet. Les méthodes du protocole HTTP permettent aux clients d’envoyer des requêtes aux serveurs et aux serveurs d’envoyer des réponses. Chaque site web sur la World Wide Web utilise des requêtes HTTP, d’où l’importance de bien les comprendre.

Cet article explique le concept des requêtes HTTP, leur structure, les méthodes les plus courantes et plusieurs exemples pratiques pour mieux comprendre le fonctionnement du web.

Qu’est-ce qu’une requête HTTP?
Copier le lien

Une requête HTTP est un message dans lequel un client — par exemple un navigateur web — demande à l’hôte situé sur un serveur une ressource spécifique. Les clients utilisent des URL dans les requêtes HTTP afin d’indiquer au serveur quelles ressources ils souhaitent obtenir.

Composants d’une requête HTTP
Copier le lien

Chaque requête HTTP se compose de trois parties :

  • la ligne de requête (request line)

  • les en-têtes (headers)

  • le corps du message (message body)

Request Line
Copier le lien

La request line est la première ligne d’une requête HTTP. Elle sert à initialiser une action sur le serveur. Elle précise la méthode HTTP et la version du protocole utilisées. Elle inclut également une URI ou une URL.

Exemple :

GET /index.html HTTP/1.1

Headers
Copier le lien

Les en-têtes suivent immédiatement la ligne de requête.

Ils fournissent des informations supplémentaires du client vers le serveur, telles que :

  • le nom d’hôte

  • les détails du navigateur (User-Agent)

  • les préférences linguistiques

  • les types de contenu acceptés

Les serveurs utilisent ces informations pour identifier le navigateur et le système d’exploitation du client. Les headers HTTP sont sensibles à la casse et suivent la syntaxe Nom: Valeur.

Exemple de headers :

Host: example.com

User-Agent: Mozilla/5.0 (...)

Accept: application/json, text/plain, */*

Accept-Language: en-US,en;q=0.9

Accept-Encoding: gzip, deflate, br

Connection: keep-alive

Message Body
Copier le lien

Le message body sert à envoyer des données au serveur. Il est optionnel — toutes les requêtes HTTP n’en possèdent pas. Les méthodes qui utilisent un body sont généralement POST et parfois PUT. Le serveur traite ces données pour répondre correctement à la requête.

Méthodes HTTP courantes
Copier le lien

Une requête HTTP relie un client à un serveur afin de réaliser différentes actions :

  • récupérer une ressource

  • envoyer des données

  • mettre à jour un contenu

  • supprimer une ressource

Voici les méthodes les plus utilisées :

GET — Récupérer des ressources
Copier le lien

La méthode GET est utilisée pour demander une ressource au serveur. Chaque fois que vous chargez une page web, votre navigateur envoie une requête GET.

Caractéristiques :

  • cacheable

  • safe (sans effet secondaire)

  • idempotent

GET ne modifie pas l’état du serveur ; elle permet uniquement de lire des données.

POST — Envoyer des données
Copier le lien

POST sert à envoyer des données au serveur — par exemple un formulaire ou un fichier.

Le body contient les données envoyées. Des requêtes POST identiques peuvent créer plusieurs ressources.

PUT — Mettre à jour des ressources
Copier le lien

PUT ressemble à POST, mais sert à remplacer des données existantes.

Différence :

  • POST = créer

  • PUT = remplacer

PUT est idempotente, ce qui signifie qu’envoyer la même requête plusieurs fois produit toujours le même résultat.

DELETE — Supprimer des ressources
Copier le lien

DELETE demande au serveur de supprimer une ressource particulière.

Si la suppression est réussie, le serveur renvoie une confirmation. DELETE est également idempotente.

Qu’est-ce qu’une réponse HTTP?
Copier le lien

Lorsqu’un serveur répond à une requête HTTP, il envoie une réponse HTTP. Sa structure est similaire à celle d’une requête HTTP :

  • la ligne de statut

  • les en-têtes

  • le corps de la réponse

Status Line
Copier le lien

Elle inclut :

  • la version HTTP

  • le code de statut

  • le message de statut associé

Headers
Copier le lien

Ils contiennent des informations telles que :

  • la date et l’heure

  • le type de contenu

  • les détails du serveur

  • les directives de cache

Body
Copier le lien

Il contient les données retournées :

  • HTML

  • JSON

  • XML

  • images

  • fichiers

Codes de statut HTTP
Copier le lien

Les codes HTTP indiquent le résultat d’une requête. Ils comportent trois chiffres, dont le premier désigne la catégorie :

Groupe

Description

1xx

Information — traitement en cours

2xx

Succès — requête traitée correctement

3xx

Redirection — action supplémentaire requise

4xx

Erreur côté client

5xx

Erreur côté serveur

En-têtes HTTP et leur importance
Copier le lien

Les en-têtes fournissent des informations cruciales pour la communication client–serveur.

Identification de l’hôte
Copier le lien

Indique le domaine servi par le serveur.

Mise en cache
Copier le lien

Cache-Control et Expires définissent la durée de conservation d’une réponse.

Gestion des cookies
Copier le lien

Set-Cookie et Cookie gèrent les sessions utilisateur.

Sécurité
Copier le lien

Exemples :

  • Authorization — authentification

  • Content-Security-Policy — protection contre les attaques XSS

Contrôle de la réponse
Copier le lien

Les headers indiquent si la requête a réussi ou échoué.

Exemples pratiques de requêtes HTTP
Copier le lien

Ces exemples utilisent Python et la bibliothèque requests.

GET
Copier le lien

import requests

response = requests.get("https://api.example.com/data",

                        params={"param1": "value1", "param2": "value2"})

print(response.status_code)

print(response.json())

POST
Copier le lien

import requests

url = "https://api.example.com/users"

data = {

    "username": "newuser",

    "email": "newuser@example.com",

    "password": "securepassword"

}

response = requests.post(url, json=data)

if response.status_code == 201:

    print("User created successfully:", response.json())

else:

    print("Error:", response.status_code, response.text)

PUT
Copier le lien

import requests

url = "https://api.example.com/users/123"

data = {

    "username": "updateduser",

    "email": "updateduser@example.com"

}

response = requests.put(url, json=data)

if response.status_code == 200:

    print("User updated successfully:", response.json())

else:

    print("Error:", response.status_code, response.text)

DELETE
Copier le lien

import requests

url = "https://api.example.com/users/123"

response = requests.delete(url)

if response.status_code == 204:

    print("User deleted successfully.")

else:

    print("Error:", response.status_code, response.text)

Conclusion
Copier le lien

Les requêtes HTTP jouent un rôle essentiel dans les interactions web. Il est donc crucial de comprendre les différentes méthodes et leur fonctionnement. Choisir la bonne méthode garantit une communication fluide entre client et serveur et améliore l’efficacité des applications web.