Une nouvelle ressource a été créée.
Quand l’utiliser
Après un POST qui crée quelque chose. Incluez un en-tête Location qui pointe vers la ressource.
Bon à savoir
Envoyez un en-tête Location avec l’URL de la nouvelle ressource, et renvoyez sa représentation dans le corps si les clients en auront besoin, ce qui leur évite un GET supplémentaire. Location peut être relatif ; les clients le résolvent par rapport à l’URL de la requête. Les clients HTTP ne suivent pas Location sur un 201, car ce n’est pas une redirection : votre code doit lire l’en-tête lui-même.
Rendez la création sûre à réessayer : un client qui atteint son délai d’expiration renverra souvent le POST et créera un doublon. Acceptez un en-tête Idempotency-Key, comme le fait Stripe, ou laissez les clients faire un PUT vers un ID qu’ils génèrent, et répondez à la répétition avec la réponse d’origine. Utilisez plutôt 202 si la ressource n’existe qu’une fois une tâche en arrière-plan terminée, et 409 quand une valeur unique est déjà prise.
Succès (2xx)
Les codes 2xx indiquent un succès : le serveur a reçu, compris et accepté la requête.
À quoi ça ressemble
HTTP/1.1 201 CreatedComment l’envoyer
| Node.js / Express | res.status(201).end() |
|---|---|
| Python / Flask | return '', 201 |
| nginx | return 201; |
Comment le vérifier
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/