431просмотров
83.4%от подписчиков
9 февраля 2026 г.
📷 ФотоScore: 474
Про HTTP-коды Этот текст задумался мною после того, как я увидела исчерпывающую шпаргалку по статус-кодам в канале Ирины Шляпиной из «Еще один канал про QA». С тех пор, эта шпаргалка всегда под рукой В этом посте собрала самые распространенные статус-коды и их отличия друг от друга. Подробнее про все коды состояния можно почитать здесь Код состояния (Status Code) сообщает, как именно сервер обработал запрос. Например, код 200 означает, что все прошло успешно. А код 500 указывает на внутреннюю ошибку сервера. Ответы сгруппированы в 5 классов: 🔘Информационные (1xx) 🔘Сообщения об успехе (2xx) 🔘Сообщения о перенаправлении (3xx) 🔘Ошибки клиента (4xx) 🔘Ошибки сервера (5xx) Статус-коды особенно выручают, если что-то идет не так: например, по 400-ым ошибкам тестировщик понимает, что проблема в запросе, а по 500-ым — проблема в работе сервера. Эти коды помогают QA быстро понять суть проблемы и приступить к её решению 1⃣ Информационные ответы 1хх Коды этого диапазона означают, что запрос получен и сервер продолжает его обработку 100 Continue: продолжайте 102 Processing: идёт обработка 📌 В чем разница: в первом случае — сервер получил начальную часть запроса и готов принять тело запроса, во втором — запрос принят, но обработка ещё не завершена 2⃣ Успешные ответы Эти коды означают, что запрос клиента был принят, обработан и завершён 200 ОК: успешно 201 Created: создано 📌 В чем разница: в первом случае — успешное выполнение того, что хотел клиент, во втором — создание нового ресурса 3⃣ Сообщения о перенаправлении Коды этого диапазона — сигнал от сервера: запрашиваемый ресурс больше не доступен по прежнему адресу или временно перемещен 301 Moved Permanently: перемещено навсегда 302 Found: найдено 📌 В чем разница: в первом случае — URL-адрес запрошенного ресурса был изменен навсегда, во втором — URI запрошенного ресурса был временно изменен 4⃣ Ошибки клиента Указывают, что ошибка произошла по вине клиента. Например, из-за некорректного запроса, отсутствия авторизации или нарушения логики API 400 Bad Request: некорректный запрос — это общий код, сигнализирующий о том, что запрос сформирован неправильно 📌 Пример: переданы невалидные данные / в запросе отсутствуют обязательные поля 401 Unauthorized: не авторизован — доступ к ресурсу запрещен, потому что пользователь предоставил неправильные учетные данные 📌 Пример: переданы невалидные данные аутентификации / в запросе отсутствует Authorization header / время жизни токена истекло 403 Forbidden: запрещено — доступ к ресурсу запрещен, даже если клиент аутентифицирован. В отличие от 401, здесь дело не в данных пользователя, а в недостаточных правах доступа 📌 Пример: пользователь без роли manager пытается удалить другого пользователя 404 Not Found: не найдено — сервер не может найти запрашиваемый ресурс 📌 Пример: запрос к несуществующему пользователю / удаленному объекту 422 Unprocessable Entity: необрабатываемый экземпляр — данные валидны по формату, но не проходят бизнес-валидацию 📌 Пример: запрос предполагает действие, которое ограничено для лиц младше 18 лет / дата окончания раньше даты начала 5⃣ Ошибки сервера Означают, что запрос клиента корректен, но сервер не смог его обработать из-за внутренней ошибки или временной недоступности 500 Internal Server Error: внутренняя ошибка сервера — общий код, который означает, что сервер знает, что произошла ошибка, но не может конкретизировать, что именно пошло не так 📌 Пример: неправильная настройка сервера / проблемы с базой данных / нестабильное соединение 502 Bad Gateway: плохой шлюз — означает, что сервер, действующий как шлюз или прокси, получил некорректный ответ от другого сервера 📌 Пример: внешний сервис оплаты не доступен — основной сервис возвращает 502, не сумев «достучаться до соседа» 503 Service Unavailable: сервис недоступен 📌 Пример: деплой / перезрузка сервиса На практике же бывает всякое. Иногда вообще любой кейс возвращает 200, а внутри ответа написано про ошибку. Все эт
431
просмотров
4000
символов
Нет
эмодзи
Да
медиа

Другие посты @go_to_production

Все посты канала →
Про HTTP-коды Этот текст задумался мною после того, как я ув — @go_to_production | PostSniper