Что означает HTTP статус-код 201 (Created)?

Ответ

HTTP 201 Created — код успешного статуса, который указывает, что запрос (обычно POST или PUT) выполнен успешно и в результате был создан новый ресурс на сервере.

Когда используется:

  • Успешное создание пользователя через POST /api/users.
  • Загрузка нового файла.
  • Создание записи в базе данных через RESTful API.

Обязательный и рекомендуемый заголовок ответа:

  • Location — URI вновь созданного ресурса. Клиент может использовать эту ссылку для последующих запросов.

Пример успешного ответа:

POST /api/articles HTTP/1.1
Host: example.com
Content-Type: application/json

{"title": "Новая статья", "content": "Текст..."}

HTTP/1.1 201 Created
Location: /api/articles/789
Content-Type: application/json

{"id": 789, "title": "Новая статья", "status": "created"}

Этот статус более конкретен, чем общий 200 OK, и явно сообщает клиенту о факте создания.

Ответ 18+ 🔞

А, слушай, вот это прикол! Есть же такой статус, HTTP 201 Created, ну, это типа успешный ответ, но не просто «всё окей», а конкретно «всё окей, и я, блядь, ещё и штуку новую слепил».

Когда его впендюривают? Ну, например, ты отправил на сервер запрос типа «создай мне нового юзера» (POST /api/users) или «залей этот файл, я мать его». И если всё прошло без косяков — сервер тебе такой: «Да, чувак, я не только всё понял, но и родил тебе новую сущность в своей базе. Держи».

А главная фишка-то какая? Обязательно, блядь, ОБЯЗАТЕЛЬНО должен быть заголовок Location. Это типа адрес, где теперь твоё новое детище лежит. Чтобы ты потом мог прийти и сказать: «Эй, покажи-ка мне, что это ты там наваял» по этой самой ссылке.

Вот смотри, как это выглядит вживую:

POST /api/articles HTTP/1.1
Host: example.com
Content-Type: application/json

{"title": "Новая статья", "content": "Текст..."}

HTTP/1.1 201 Created
Location: /api/articles/789
Content-Type: application/json

{"id": 789, "title": "Новая статья", "status": "created"}

Видишь? Это не какой-то расплывчатый «200 ОК». Это чёткий сигнал: «Запись создана, иди смотри, она вот тут, под номером 789». Красота, ёпта! Всё конкретно, без воды.