Les requêtes HTTP

Lorsqu'on soumet un formulaire, les données sont envoyées au serveur grâce à une requête HTTP. Mais c'est quoi exactement une requête HTTP ?

Les requêtes HTTP

HTTP (Hypertext Transfer Protocol) est un protocole qui permet de communiquer entre un client (par exemple, un navigateur web) et un serveur.

À savoir

Il est important de noter que chaque type de requête HTTP a une intention particulière, mais en pratique, rien n'empêche un développeur de détourner leur usage. Par exemple, la méthode PUT est généralement utilisée pour mettre à jour une ressource, mais un développeur pourrait très bien l'utiliser pour supprimer des données s'il le souhaitait. C'est une question de convention et de bonnes pratiques. Utiliser des méthodes HTTP de manière non conventionnelle peut rendre le code difficile à maintenir et à comprendre par d'autres développeurs, mais techniquement, le protocole ne l'empêche pas.

Il existe plusieurs types de requêtes HTTP, mais nous allons nous concentrer sur les plus courantes :

GET

La méthode GET est utilisée pour demander une ressource au serveur, par exemple une page web. Les données peuvent être envoyées dans l'URL sous forme de paramètres (après un ?).

Exemple :

GET /search?q=html HTTP/1.1
Host: www.example.com

Cet exemple demande au serveur de rechercher des informations sur "html".

POST

La méthode POST est utilisée pour envoyer des données au serveur, par exemple lorsque vous soumettez un formulaire d'inscription.

Exemple :

POST /submit HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

username=alice&password=12345

Dans cet exemple, les données du formulaire sont envoyées au serveur dans le corps de la requête.

PUT

La méthode PUT est utilisée pour envoyer des données au serveur, souvent pour créer ou mettre à jour une ressource. C'est similaire à POST, mais PUT est souvent utilisé pour des opérations idempotentes (c'est-à-dire que la même requête aura le même effet, même si elle est répétée).

Exemple :

PUT /user/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json

{
  "username": "alice",
  "email": "[email protected]"
}

Cet exemple met à jour les informations de l'utilisateur ayant l'ID 123.

DELETE

La méthode DELETE est utilisée pour supprimer une ressource sur le serveur.

Exemple :

DELETE /user/123 HTTP/1.1
Host: www.example.com

Cet exemple demande au serveur de supprimer l'utilisateur avec l'ID 123.