Utworzono nowy zasób.
Kiedy go używać
Po żądaniu POST, które coś tworzy. Dołącz nagłówek Location wskazujący nowy zasób.
Warto wiedzieć
Wyślij nagłówek Location z URL-em nowego zasobu i zwróć jego reprezentację w treści, jeśli klienty będą jej potrzebować, co oszczędza dodatkowy GET. Location może być względny; klienty rozwiązują go względem URL-a żądania. Klienty HTTP nie podążają za Location przy 201, bo to nie jest przekierowanie, więc Twój kod musi sam odczytać ten nagłówek.
Zadbaj, by tworzenie można było bezpiecznie ponowić: klient, który dostanie timeout, często wyśle POST ponownie i utworzy duplikat. Akceptuj nagłówek Idempotency-Key, tak jak Stripe, albo pozwól klientom wysyłać PUT na wygenerowane przez nich ID i na powtórzenie odpowiadaj oryginalną odpowiedzią. Użyj 202, jeśli zasób powstaje dopiero po zakończeniu zadania w tle, a 409, gdy unikalna wartość jest już zajęta.
Sukces (2xx)
Kody 2xx oznaczają sukces: serwer odebrał, zrozumiał i przyjął żądanie.
Jak to wygląda
HTTP/1.1 201 CreatedJak go wysłać
| Node.js / Express | res.status(201).end() |
|---|---|
| Python / Flask | return '', 201 |
| nginx | return 201; |
Jak go sprawdzić
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/