Инструменты
Руководства

Коды состояния HTTP

Справочник

Краткий справочник кодов состояния HTTP — с 1xx до 5xx — с поиском.

100 % на клиенте Без бэкенда
Код Фраза Категория Описание
На этой странице

Что такое справочник кодов состояния HTTP?#

Каждый HTTP-ответ несёт трёхзначный код состояния, сообщающий клиенту одним числом, что произошло с его запросом. Цифры не случайны: первая цифра называет семейство — 1xx означает «погодите, передаю информацию», 2xx — «вот, сработало», 3xx — «ищите в другом месте», 4xx — «вы, клиент, напутали», а 5xx — «я, сервер, напутал». Запомните эти пять семейств — и любой HTTP-обмен читается с одного взгляда: будь то запрос браузера, запущенный вами curl или ошибка в логах приложения.

Трудность в том, что активно используется более шестидесяти кодов, а различия между соседями часто тонки: 401 против 403, 302 против 307, 422 против 400. Эта страница — ищущий справочник по всем им: код, его IANA-фраза причины, семейство и простое объяснение. Введите число или слово, и таблица мгновенно сузится.

Как пользоваться#

  1. Просматривайте или ищите. Таблица перечисляет все коды, сгруппированные по семействам (от 1xx до 5xx). Используйте поле Поиск по коду или названию… сверху для фильтрации.
  2. Ищите так, как думаете. Фильтр умно понимает намерение:
    • Введите число вроде 30 или 418, и он сопоставит коды по префиксу — 30 поднимает всё семейство перенаправлений 3xx.
    • Введите слово вроде redirect, timeout или teapot, и он ищет по фразе причины и описанию без учёта регистра.
  3. Читайте строку. Каждая строка показывает Код (число), Фразу (стандартную фразу, например «Not Found»), Категорию (локализованную метку семейства) и Описание (краткое пояснение, когда этот код возвращается). Строка состояния под таблицей сообщает, сколько строк подошло.

Ключевые возможности#

  • Полный набор IANA плюс де-факто коды. Покрыт каждый код, который веб реально возвращает, — от 100 Continue до 511 Network Authentication Required, включая специфичные для WebDAV 207/208/226, шутейный 418 I'm a Teapot и юридически обусловленный 451.
  • Учитывающий префикс числовой поиск. Ввод 4 не вываливает случайное подмножество — он даёт каждую ошибку клиента 4xx по порядку, что и нужно для исследования незнакомого семейства.
  • Поиск по словам в причине и описании. «rate» находит 429 Too Many Requests; «range» находит 416 Range Not Satisfiable; «auth» поднимает и 401, и 407.
  • Фразы причины универсальны. Фразы («Not Found», «Gateway Timeout») — технические идентификаторы, а не переводы; они совпадают с тем, что серверы реально отправляют при передаче, поэтому их можно вставлять прямо в документацию или тикет.
  • Работает целиком в вашем браузере. Набор данных поставляется со страницей; фильтрация идёт локально без сетевого запроса.

Разбор примера#

Три кода, на которых спотыкается почти каждый разработчик хотя бы раз, — клиентская тройка 401, 403 и 404. Поищите цифры 40, и вы получите их все в одном виде, рядом:

  • 401 Unauthorized — «Требуется аутентификация, и она не пройдена или не предоставлена.» Сервер не знает, кто вы. Решение: отправьте учётные данные (логин-токен, API-ключ).
  • 403 Forbidden — «Запрос корректен, но сервер отказывается действовать (недостаточно прав).» Сервер прекрасно знает, кто вы, — и всё равно вам нельзя. Решение: получите права, а не ещё один пароль.
  • 404 Not Found — «Запрошенный ресурс не найден.» Сам URL ошибочен или ресурс исчез. Решение: исправьте путь.

Самое полезное различие — 401 против 403: «я вас не знаю» (войдите) против «я вас знаю, и нет» (просите доступ). Переаутентификация никогда не починит 403, а манипуляции с URL никогда не починят 401.

Второй полезный просмотр — семейство перенаправлений. Поищите 30, и вы увидите, что 301 и 302 исторически позволяли клиентам менять метод в следующем запросе (так POST мог деградировать до GET), тогда как 307 и 308 были введены именно для сохранения исходного метода — поэтому современные API, перенаправляющие отправку форм, ведут вас на 307/308, а не на 301/302.

FAQ#

Что означает первая цифра кода состояния?#

Она называет семейство. 1xx — информационные (сервер говорит: «ждите, будет ещё»), 2xx — успех, 3xx — перенаправление (ищите в другом месте), 4xx — ошибка клиента (ваш запрос неверен), 5xx — ошибка сервера (запрос был корректен, но сервер упал). Оставшиеся две цифры идентифицируют конкретный код внутри семейства.

418 — настоящий код состояния?#

Он появился в первоапрельском RFC о чайнике, который отказывается варить кофе, поэтому не предназначен для продакшена. Тем не менее некоторые сервисы действительно возвращают 418 как игривый ответ «вы прислали мне бессмыслицу», и его безвредно распознавать. Этот справочник включает его, потому что вы встретите его «в дикой природе».

Почему некоторые коды помечены WebDAV?#

Коды вроде 207 Multi-Status, 423 Locked и 507 Insufficient Storage были определены для WebDAV — расширения HTTP для совместного редактирования файлов. Они редки в обычных веб-API, но встречаются в системах с файлоподобным интерфейсом, поэтому описания отмечают происхождение от WebDAV, чтобы контекст был понятен.

Откуда берутся фрази причины?#

Это стандартные английские фрази причины, зарегистрированные в IANA, — те же строки, что серверы дописывают после кода в строке состояния (например, HTTP/1.1 404 Not Found). Это технические идентификаторы, поэтому они показаны как есть, без перевода; локализованная часть страницы — это заголовки колонок, метки категорий и этот пояснительный текст.