Назад к вопросам
Junior
74
questionbank
Расскажи о статус-кодах HTTP.
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Статус-коды HTTP — это трехзначные числа, возвращаемые сервером в ответ на запрос клиента, и указывающие на результат обработки запроса. Они классифицируются по первой цифре:
- 1xx (Informational): Запрос принят, обработка продолжается.
- 2xx (Success): Запрос успешно получен, понят и принят.
- 3xx (Redirection): Для завершения запроса необходимы дополнительные действия.
- 4xx (Client Error): Запрос содержит синтаксическую ошибку или не может быть выполнен.
- 5xx (Server Error): Сервер не смог выполнить правильно сформированный запрос.
Примеры наиболее распространенных кодов:
| Код | Категория | Значение | Описание |
|---|---|---|---|
| 100 | Informational | Continue | Сервер получил начальную часть запроса |
| 200 | Success | OK | Запрос успешно выполнен |
| 201 | Success | Created | Запрос выполнен, создан новый ресурс |
| 204 | Success | No Content | Запрос выполнен, ответ не содержит тела |
| 301 | Redirection | Moved Permanently | Ресурс перемещен окончательно |
| 302 | Redirection | Found (Temporarily Moved) | Ресурс временно перемещен |
| 304 | Redirection | Not Modified | Ресурс не изменялся с момента последнего запроса |
| 400 | Client Error | Bad Request | Некорректный синтаксис запроса |
| 401 | Client Error | Unauthorized | Требуется аутентификация |
| 403 | Client Error | Forbidden | Доступ к ресурсу запрещен |
| 404 | Client Error | Not Found | Ресурс по указанному URL не найден |
| 405 | Client Error | Method Not Allowed | Использован недопустимый метод HTTP |
| 500 | Server Error | Internal Server Error | Внутренняя ошибка сервера |
| 502 | Server Error | Bad Gateway | Неверный ответ от вышестоящего сервера |
| 503 | Server Error | Service Unavailable | Сервер временно недоступен |
Знание статус-кодов помогает понять причину ошибки, отладить запросы и определить успешность их выполнения. В автоматизации тестирования часто используются для проверки ожидаемого результата API запросов.
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
# Проверка статус-кода на успешное выполнение (200 OK)
if response.status_code == 200:
print("GET запрос успешен")
else:
print(f"Ошибка GET запроса: статус-код {response.status_code}")
url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)
# Проверка статус-кода на ресурс не найден (404 Not Found)
if response_not_found.status_code == 404:
print("Ресурс не найден (ожидаемое поведение)")
else:
print(f"Получен неожиданный статус-код: {response_not_found.status_code}")