Méthodes • Statuts • Bonnes pratiques

Les verbes HTTP

Comprenez le rôle de chaque méthode HTTP, ses garanties (safe, idempotente), ses usages concrets et les codes de réponse associés.

Introduction

Pourquoi les méthodes HTTP sont essentielles

Les verbes HTTP (ou méthodes HTTP) indiquent l’action demandée par un client sur une ressource. Bien les comprendre est indispensable pour maîtriser HTTP et construire des APIs REST claires, performantes et sûres.

Méthode

GET

Lire Safe Idempotente

GET sert à récupérer une ressource sans modifier l’état du serveur. Les paramètres transitent dans l’URL et la méthode est généralement compatible avec le cache, ce qui améliore les performances.

Exemple de requête GET
GET /articles/123 HTTP/1.1
Host: www.example.com
Accept: text/html
Codes typiques 200 304 400 401 403 404 500

Méthode

POST

Créer / Soumettre Non safe Non idempotente

POST envoie des données dans le corps de la requête pour créer une ressource ou déclencher un traitement. Chaque appel peut produire un effet différent.

Exemple de requête POST
POST /api/articles HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "titre": "Nouveau titre",
  "contenu": "Le contenu complet de l'article."
}
Codes typiques 201 200 202 204 400 409 422

Méthode

PUT

Remplacer Idempotente

PUT remplace une ressource à une URL donnée. Le client envoie généralement une représentation complète. Si la ressource n’existe pas, elle peut être créée.

Exemple de requête PUT
PUT /api/articles/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "titre": "Titre mis à jour",
  "contenu": "Le contenu complet mis à jour de l'article."
}
Codes typiques 200 204 201 400 404 409

Méthode

PATCH

Modifier partiellement

PATCH applique une modification partielle sur une ressource. C’est la méthode adaptée lorsque seule une partie des champs doit évoluer.

Exemple de requête PATCH
PATCH /api/articles/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "titre": "Titre modifié uniquement"
}
Codes typiques 200 204 400 404 422

Méthode

DELETE

Supprimer

DELETE supprime une ressource. Le serveur renvoie souvent un 204 sans contenu, ou un 200/202 selon le traitement.

Exemple de requête DELETE
DELETE /api/articles/123 HTTP/1.1
Host: api.example.com
Codes typiques 204 200 202 404

Méthodes avancées

HEAD, OPTIONS, TRACE, CONNECT

OPTIONS

CORS

Permet de connaître les méthodes autorisées sur une ressource. Très utilisée dans les pré-vérifications CORS.

TRACE

Diagnostic

Renvoie la requête reçue pour diagnostiquer la chaîne réseau. À limiter car cette méthode peut exposer des informations sensibles.

CONNECT

Proxy tunnel

Établit un tunnel réseau via un proxy (souvent pour HTTPS). Hors du scope direct de la manipulation de ressources REST.

Références

Glossaire des codes HTTP liés aux méthodes

  • 200 : requête réussie.
  • 201 : ressource créée.
  • 202 : traitement accepté différé.
  • 204 : succès sans contenu.
  • 400 : requête invalide.
  • 401 : authentification requise.
  • 403 : accès interdit.
  • 404 : ressource introuvable.
  • 405 : méthode non autorisée.
  • 409 : conflit.
  • 500 : erreur serveur.

Bonnes pratiques

Sécurité et recommandations

  • Protéger les méthodes qui modifient l’état du serveur (POST, PUT, PATCH, DELETE).
  • Chiffrer les échanges via HTTPS.
  • Valider et filtrer toutes les données reçues.
  • Désactiver les méthodes inutiles si le contexte l’exige (TRACE, CONNECT).
  • Mettre en place des protections anti-CSRF lorsque pertinent.
  • Limiter la taille et le débit des requêtes pour réduire les risques d’abus.