Builders Academy
HTTP en Profondeur — Le Protocole du Web
1 of 3

Chapitre 1 · Leçon 1

Méthodes & Status Codes

La sémantique du protocole HTTP

Section 1

Méthodes HTTP et leur sémantique

Step 1

Les 5 méthodes REST fondamentales

Chaque méthode HTTP a une sémantique précise. Les respecter rend les APIs prévisibles et permet les optimisations (caching, idempotence).

snippet.typescript

typescript
1// Les méthodes HTTP et leur sémantique
2
3// GET — Lire une ressource
4// Idempotent ✅ | Sûre ✅ | Corps ❌ | Cache ✅
5// GET /tutorials          → liste de tous les tutoriels
6// GET /tutorials/:slug    → un tutoriel spécifique
7
8// POST — Créer une ressource
9// Idempotent ❌ | Sûre ❌ | Corps ✅ | Cache ❌
10// POST /tutorials         → créer un nouveau tutoriel
11// POST /auth/login        → créer une session (action non-CRUD)
12
13// PUT — Remplacer complètement une ressource
14// Idempotent ✅ | Sûre ❌ | Corps ✅ | Cache ❌
15// PUT /tutorials/:id      → remplacer entièrement un tutoriel
16// Le corps doit contenir TOUTES les propriétés
17
18// PATCH — Modifier partiellement une ressource
19// Idempotent ⚠️ | Sûre ❌ | Corps ✅ | Cache ❌
20// PATCH /tutorials/:id    → modifier seulement les champs envoyés
21// { "title": "Nouveau titre" }  ← seul le title est modifié
22
23// DELETE — Supprimer une ressource
24// Idempotent ✅ | Sûre ❌ | Corps ❌ | Cache ❌
25// DELETE /tutorials/:id   → supprimer un tutoriel
26
27/*
28 * Idempotent = même résultat si exécuté N fois
29 * GET /tutorial/1 → toujours le même résultat ✅
30 * DELETE /tutorial/1 → supprime au 1er appel, 404 ensuite ✅ (même état final)
31 * POST /tutorials → crée un NOUVEAU à chaque appel ❌
32 *
33 * Sûre = ne modifie pas l'état serveur
34 * GET, HEAD, OPTIONS sont sûres
35 */

Step 2

Codes de statut — la sémantique des réponses

Les codes de statut HTTP indiquent le résultat de la requête. Utiliser le bon code est essentiel pour des APIs claires.

snippet.typescript

typescript
1// Les méthodes HTTP et leur sémantique
2
3// GET — Lire une ressource
4// Idempotent ✅ | Sûre ✅ | Corps ❌ | Cache ✅
5// GET /tutorials          → liste de tous les tutoriels
6// GET /tutorials/:slug    → un tutoriel spécifique
7
8// POST — Créer une ressource
9// Idempotent ❌ | Sûre ❌ | Corps ✅ | Cache ❌
10// POST /tutorials         → créer un nouveau tutoriel
11// POST /auth/login        → créer une session (action non-CRUD)
12
13// PUT — Remplacer complètement une ressource
14// Idempotent ✅ | Sûre ❌ | Corps ✅ | Cache ❌
15// PUT /tutorials/:id      → remplacer entièrement un tutoriel
16// Le corps doit contenir TOUTES les propriétés
17
18// PATCH — Modifier partiellement une ressource
19// Idempotent ⚠️ | Sûre ❌ | Corps ✅ | Cache ❌
20// PATCH /tutorials/:id    → modifier seulement les champs envoyés
21// { "title": "Nouveau titre" }  ← seul le title est modifié
22
23// DELETE — Supprimer une ressource
24// Idempotent ✅ | Sûre ❌ | Corps ❌ | Cache ❌
25// DELETE /tutorials/:id   → supprimer un tutoriel
26
27/*
28 * Idempotent = même résultat si exécuté N fois
29 * GET /tutorial/1 → toujours le même résultat ✅
30 * DELETE /tutorial/1 → supprime au 1er appel, 404 ensuite ✅ (même état final)
31 * POST /tutorials → crée un NOUVEAU à chaque appel ❌
32 *
33 * Sûre = ne modifie pas l'état serveur
34 * GET, HEAD, OPTIONS sont sûres
35 */

Topics and skills covered

  • HTTP
  • REST
  • Status Codes
  • Méthodes