Ответ
Коды состояния класса 2xx (Success) означают, что клиентский запрос был успешно получен, понят и принят сервером.
Основные коды и их назначение:
| Код | Название | Описание | Типичный сценарий |
|---|---|---|---|
| 200 | OK | Стандартный ответ для успешных запросов. Тело ответа содержит запрошенные данные. | Успешный GET или PUT запрос. |
| 201 | Created | Ресурс был создан в результате запроса. | Успешный POST запрос в REST API. |
| 204 | No Content | Сервер выполнил запрос, но не возвращает никакого содержимого в теле ответа. | Успешный DELETE запрос или PUT без необходимости возврата данных. |
Пример ответа 200 OK:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"id": 42,
"title": "Пример данных"
}
}
Почему это важно: Корректное использование кодов 2xx позволяет клиенту однозначно определить успех операции и соответствующим образом обработать ответ.
Ответ 18+ 🔞
А, слушай, смотри, вот эти вот коды, которые с двойки начинаются — это же просто праздник какой-то, ёпта! Сервер тебе такой: «Всё, брат-программист, я твой запрос принял, понял и, главное, сделал! Не ссы, всё чики-пуки».
Короче, что это за магия:
| Код | Как называется | Что значит | Где это бывает |
|---|---|---|---|
| 200 | OK | Всё прошло просто охуенно. Забирай свои данные и кайфуй. | Ты что-то запросил (GET) или обновил (PUT) — и вот оно, на блюдечке. |
| 201 | Created | Я, блядь, только что на сервере целый новый ресурс родил, вот тебе его адрес. | Ты отправил POST запрос в какую-нибудь REST-ную APIшку, и она тебе родила новую запись в базе. |
| 204 | No Content | Всё сделал, но возвращать тебе нихуя не буду. Сам всё понял, иди отсюда. | Удалил что-то (DELETE) или обновил без необходимости что-то тебе назад пихать. |
Вот, смотри, как выглядит этот самый 200-й «успех»:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"id": 42,
"title": "Пример данных"
}
}
А зачем это всё, спросишь? Да чтобы твой клиентский код не бздел, понимаешь? Получил «200» — расслабься, парси данные. Получил «201» — значит, твой объект создался, можно его куда-то пристроить. Получил «204» — ну, всё, работа сделана, иди дальше. Без этой чёткой системы мы бы все тут с ума посходили, угарая от неопределённости, блядь. Всё по полочкам, как у взрослых.