2xx — Succès
| Code |
Signification |
| 200 |
OK |
| 201 |
Created (ressource créée) |
| 204 |
No Content (succès sans corps) |
3xx — Redirection
| Code |
Signification |
| 301 |
Moved Permanently |
| 302 |
Found (redirection temporaire) |
| 304 |
Not Modified (cache valide) |
| 308 |
Permanent Redirect (conserve la méthode) |
4xx — Erreur client
| Code |
Signification |
| 400 |
Bad Request |
| 401 |
Unauthorized (non authentifié) |
| 403 |
Forbidden (authentifié mais pas autorisé) |
| 404 |
Not Found |
| 409 |
Conflict |
| 422 |
Unprocessable Entity (validation) |
| 429 |
Too Many Requests |
5xx — Erreur serveur
| Code |
Signification |
| 500 |
Internal Server Error |
| 502 |
Bad Gateway |
| 503 |
Service Unavailable |
| 504 |
Gateway Timeout |
401 = « je ne sais pas qui tu es » · 403 = « je sais qui tu es, mais non ».
Idempotence par méthode HTTP
| Méthode |
Idempotente ? |
Usage |
GET |
oui |
Lire une ressource |
PUT |
oui |
Remplacer entièrement une ressource |
DELETE |
oui |
Supprimer (rejouer la requête ne change rien de plus) |
POST |
non |
Créer une ressource (rejouer = doublon possible) |
PATCH |
non (en général) |
Modifier partiellement |
Une méthode idempotente peut être rejouée sans risque après un timeout réseau ; une requête POST échouée doit être rejouée avec prudence (ou une clé d'idempotence côté serveur).
Codes moins courants mais utiles
| Code |
Signification |
| 100 |
Continue (le client peut poursuivre l'envoi du corps) |
| 206 |
Partial Content (réponse partielle, ex. téléchargement repris) |
| 226 |
IM Used |
| 407 |
Proxy Authentication Required |
| 410 |
Gone (ressource définitivement supprimée, contrairement à 404) |
| 451 |
Unavailable For Legal Reasons |
| 501 |
Not Implemented |
410 (Gone) diffère de 404 (Not Found) : 410 indique explicitement que la ressource a existé puis a été retirée volontairement, un signal plus fort pour les moteurs de recherche que "ressource introuvable".
Cache HTTP : les codes et en-têtes liés
| Élément |
Rôle |
| 304 Not Modified |
Le contenu en cache est toujours valide, pas de nouveau téléchargement |
Cache-Control |
Politique de cache (durée, public/privé, revalidation) |
ETag |
Empreinte du contenu, utilisée pour vérifier s'il a changé |
If-None-Match |
Envoyé par le client avec l'ETag connu, pour déclencher un 304 si rien n'a changé |
#Web
Merci pour votre retour !