Ответ
Коды состояния 5xx (Server Error) означают, что сервер не смог выполнить запрос по своей вине. Основные из них:
- 500 Internal Server Error: Общая ошибка сервера без уточнения причины.
- 502 Bad Gateway: Сервер, выступая в роли шлюза или прокси, получил недопустимый ответ от вышестоящего сервера.
- 503 Service Unavailable: Сервер временно не может обработать запрос (перегрузка, техническое обслуживание). Заголовок
Retry-Afterможет указывать, когда повторить попытку. - 504 Gateway Timeout: Сервер, выступая в роли шлюза или прокси, не дождался ответа от вышестоящего сервера в отведенное время.
Практический пример проверки в автотесте (Python):
import requests
# Отправляем запрос к эндпоинту, который может упасть
response = requests.get("https://api.example.com/unstable-endpoint")
# Проверяем, что статус-код относится к ошибкам сервера
assert 500 <= response.status_code < 600,
f"Ожидалась ошибка 5xx, но получен {response.status_code}"
# Или проверяем конкретный код, например, 503
if response.status_code == 503:
print("Сервер временно недоступен. Проверить Retry-After header.")