1xx: Информационные
Запрос получен сервером, и процесс его обработки продолжается. Эти коды встречаются редко и носят чисто технический характер.
100 Continue
Сервер получил заголовки запроса и готов принять тело запроса. Клиент может продолжать отправку.
101 Switching Protocols
Сервер согласен переключить протокол (например, с HTTP на WebSocket).
2xx: Успех
Запрос был успешно получен, понят и обработан сервером. Это то, что мы хотим видеть в позитивных тестах.
200 OK
Классический "успех". Означает, что запрос выполнен корректно. Ответ будет содержать запрошенные данные.
201 Created
Запрос успешно выполнен, и в результате был создан новый ресурс (например, новый пользователь или заказ).
204 No Content
Сервер успешно обработал запрос, но ему нечего возвращать в теле ответа (например, после успешного удаления ресурса).
3xx: Перенаправление
Клиенту необходимо предпринять дополнительные шаги для завершения запроса, чаще всего — перейти по другому URL.
301 Moved Permanently
Запрошенный ресурс был навсегда перемещен на новый URL. Браузеры и поисковики запомнят этот редирект.
302 Found
Ресурс временно находится по другому URL. В отличие от 301, клиент должен продолжать использовать исходный URL для будущих запросов.
304 Not Modified
Используется для кэширования. Означает, что ресурс не изменился с момента последнего запроса, и клиент может использовать свою локальную копию.
4xx: Ошибка клиента
Запрос не может быть выполнен из-за ошибки на стороне клиента (неверный синтаксис, отсутствие прав, несуществующий ресурс).
400 Bad Request
Сервер не может обработать запрос из-за синтаксической ошибки (например, неверный формат JSON или отсутствующее обязательное поле).
401 Unauthorized
Это про аутентификацию ("Кто вы?"). Сервер не знает, кто вы, или не верит вашим "документам" (токену, паролю).
403 Forbidden
Это про авторизацию ("Что вам можно делать?"). Сервер вас опознал, но у вашей роли недостаточно прав для этого действия.
404 Not Found
Самый известный код. Сервер не может найти запрошенный ресурс. Либо URL неверный, либо ресурс был удален.
409 Conflict
Запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса (например, попытка создать пользователя с уже существующим email).
418 I'm a teapot
Этот код — "пасхальное яйцо" из первоапрельской шутки 1998 года. Сервер-чайник отказывается варить кофе.
5xx: Ошибка сервера
Сервер столкнулся с непредвиденной ошибкой, которая не позволила ему выполнить корректно составленный запрос. Это всегда баг на стороне бэкенда.
500 Internal Server Error
Общая ошибка, которая означает, что на сервере что-то пошло не так, но он не может уточнить, что именно. Классический "сервер упал".
501 Not Implemented
Сервер не поддерживает функциональность, необходимую для выполнения запроса (например, использован неподдерживаемый HTTP-метод).
502 Bad Gateway
Сервер, выступая в роли шлюза, получил недействительный ответ от вышестоящего сервера (например, от микросервиса, к которому он обратился).
503 Service Unavailable
Сервер временно не может обрабатывать запросы из-за перегрузки или технического обслуживания. Стоит попробовать повторить запрос позже.
504 Gateway Timeout
Сервер-шлюз не дождался ответа от вышестоящего сервера в установленное время. Проблема в медленной работе другого сервиса.