Назад к вопросам
Junior
71
questionbank

Расскажите о статус-кодах HTTP.

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Статус-коды HTTP — это трехзначные числа, возвращаемые сервером в ответ на запрос клиента. Они указывают результат запроса и предоставляют информацию о том, как клиент должен обработать ответ.

Статус-коды делятся на пять классов:

  • 1xx — Информационные: Запрос принят, продолжается обработка.
  • 2xx — Успешные: Запрос успешно обработан.
  • 3xx — Перенаправление: Для завершения запроса необходимы дальнейшие действия.
  • 4xx — Ошибка клиента: Запрос содержит синтаксическую ошибку или не может быть выполнен.
  • 5xx — Ошибка сервера: Сервер не смог выполнить корректный запрос.

Некоторые наиболее распространенные статус-коды:

Код Описание Класс
200 OK Успешные
201 Created Успешные
204 No Content Успешные
301 Moved Permanently Перенаправление
302 Found Перенаправление
400 Bad Request Ошибка клиента
401 Unauthorized Ошибка клиента
403 Forbidden Ошибка клиента
404 Not Found Ошибка клиента
500 Internal Server Error Ошибка сервера
503 Service Unavailable Ошибка сервера

При тестировании API важно проверять корректные статус-коды в ответ на различные запросы (успешные, с ошибками валидации, с неверными данными и т.д.), чтобы убедиться в предсказуемом поведении системы.

Например, при создании ресурса ожидается 201, при успешном получении данных – 200, при запросе несуществующего ресурса – 404, при ошибке на сервере – 500.

Пример проверки статус-кода в автотесте (на Python с использованием requests):

import requests

url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)

# Проверка, что запрос вернул статус 200 OK
assert response.status_code == 200