Какой HTTP-статус код означает успешное выполнение запроса?

«Какой HTTP-статус код означает успешное выполнение запроса?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Стандартный статус-код успеха — 200 OK. Он означает, что запрос был обработан без ошибок, и сервер возвращает ожидаемые данные.

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

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "success",
  "data": {
    "id": 123,
    "name": "Example Item"
  }
}

Другие распространённые коды успеха:

  • 201 Created — ресурс успешно создан (часто используется в ответе на POST-запрос). В заголовке Location может быть указан URI нового ресурса.
  • 204 No Content — запрос выполнен успешно, но тело ответа пустое (например, после успешного DELETE).

Почему важен правильный код: Использование 200 OK для создания ресурса вместо 201 Created скрывает семантику успеха, что может усложнить логику на стороне клиента.