HTTP / REST (Les bases essentielles)
Comprendre HTTP et REST est indispensable pour travailler avec des APIs modernes. Ce sont des concepts simples en apparence, mais très fréquents en tests et en pratique.
🌐 HTTP — la base
HTTP est un protocole qui permet la communication entre :
un client (navigateur, application) un serveur
Méthodes principales
GET
récupérer des données - idempotent
POST
créer une ressource - pas idempotent
PUT
remplacer une ressource - idempotent
DELETE
supprimer une ressource - idempotent
Idempotence (très important)
Une opération est idempotente si :
➡️ la répéter plusieurs fois donne le même résultat
Exemple
PUT
PUT /user/1
même résultat même si répété
POST
POST /user
crée plusieurs ressources si répété
🌐 Codes HTTP à connaître
| Code | Signification |
|---|---|
| 200 | OK |
| 201 | Created |
| 204 | No Content |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 500 | Server Error |
Piège classique : 401 vs 403
- 401 → utilisateur non authentifié
- 403 → utilisateur authentifié mais accès refusé
REST — principe
REST est un style d’architecture pour créer des APIs :
basé sur HTTP simple et standardisé
⚡ Stateless (clé de REST)
Une API REST est stateless :
- le serveur ne garde pas l’état du client
- chaque requête est indépendante
Pourquoi c’est important
- meilleure scalabilité
- meilleure performance
- architecture plus simple
Questions classiques
Q1
GET est-il idempotent ? Oui
Q2
POST est-il idempotent ? Non
Q3
401 signifie quoi ? Non authentifié
Q4
Pourquoi REST est stateless ? pour améliorer la scalabilité (pas d’état côté serveur)
À retenir
- HTTP définit les méthodes et les codes
- REST utilise HTTP pour créer des APIs
- idempotence = même résultat si répété
- stateless = pas d’état côté serveur
🧾 En résumé
- GET / PUT / DELETE → idempotents
- POST → non idempotent
- 401 ≠ 403
- REST = API stateless basée sur HTTP
Ces concepts sont au cœur du fonctionnement des APIs modernes et reviennent très souvent en pratique.