Um novo recurso foi criado.
Quando usar
Depois de um POST que cria algo. Inclua um cabeçalho Location apontando para o novo recurso.
Bom saber
Envie um cabeçalho Location com a URL do novo recurso e retorne a representação dele no corpo se os clientes forem precisar, o que economiza um GET adicional. O Location pode ser relativo; os clientes o resolvem em relação à URL da requisição. Clientes HTTP não seguem o Location em um 201, porque ele não é um redirecionamento, então o seu código precisa ler o cabeçalho por conta própria.
Torne a criação segura para repetir: um cliente que recebe timeout muitas vezes reenvia o POST e cria uma duplicata. Aceite um cabeçalho Idempotency-Key, como a Stripe faz, ou deixe os clientes fazerem PUT em um ID que eles mesmos geram, e responda à repetição com a resposta original. Use 202 se o recurso só existir depois que uma tarefa em segundo plano terminar, e 409 quando um valor único já estiver em uso.
Sucesso (2xx)
Os códigos 2xx indicam sucesso: o servidor recebeu, entendeu e aceitou a requisição.
Como fica
HTTP/1.1 201 CreatedComo enviar
| Node.js / Express | res.status(201).end() |
|---|---|
| Python / Flask | return '', 201 |
| nginx | return 201; |
Como verificar
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/