Les méthodes de requête HTTP expliquées
HTTP définit neuf méthodes de requête standard, mais la plupart du trafic quotidien n’en utilise que quelques-unes. Ce tableau explique chaque méthode, sa sûreté et son idempotence, et les codes renvoyés par un appel réussi.
| Méthode | Usage | Sûr ? | Idempotent ? | Statut de succès |
|---|---|---|---|---|
| GET | Retrieve a resource | Yes | Yes | 200 OK |
| HEAD | Retrieve headers only, no body | Yes | Yes | 200 OK |
| POST | Create a resource or trigger an action | No | No | 201 Created |
| PUT | Replace a resource entirely | No | Yes | 200 OK / 204 No Content |
| PATCH | Apply a partial update | No | No | 200 OK |
| DELETE | Remove a resource | No | Yes | 200 OK / 204 No Content |
| OPTIONS | CORS preflight; list allowed methods | Yes | Yes | 204 / 200 OK |
| TRACE | Echo the request back for diagnostics | Yes | Yes | 200 OK |
| CONNECT | Open a tunnel, e.g. HTTPS via a proxy | No | No | 200 OK |
Notes
- Sûr signifie que la méthode ne modifie jamais l’état du serveur : GET, HEAD, OPTIONS et TRACE sont les seules méthodes sûres.
- Idempotent signifie que répéter l’appel donne le même résultat qu’un seul appel : PUT, DELETE et GET le sont ; POST et PATCH ne le sont pas.
- Quand une route n’accepte pas une méthode, le serveur répond 405 Method Not Allowed et inclut généralement l’en-tête Allow.
Questions fréquentes
- Quelle est la différence entre GET et POST ?
- GET récupère une ressource sans effet de bord et peut être répété sans risque ; les paramètres passent dans l’URL. POST crée quelque chose ou déclenche une action, peut modifier l’état et ne doit pas être répété aveuglément.
- Que signifie le fait qu’une méthode HTTP soit sûre ?
- Une méthode sûre ne modifie jamais l’état du serveur, on peut donc l’appeler sans risque. GET, HEAD, OPTIONS et TRACE sont sûres ; POST, PUT, PATCH et DELETE ne le sont pas.
- Quelle est la différence entre PUT et PATCH ?
- PUT remplace toute la ressource par ce que vous envoyez ; PATCH n’applique qu’une modification partielle sur certains champs. PUT est idempotent, le répéter donne le même résultat ; PATCH ne l’est généralement pas.
- À quoi sert la méthode HEAD ?
- HEAD se comporte comme GET mais sans corps de réponse. Elle sert à vérifier qu’une ressource existe, sa taille ou ses en-têtes, sans télécharger tout le contenu.