Коды состояния HTTP
СправочникКраткий справочник кодов состояния HTTP — с 1xx до 5xx — с поиском.
| Код | Фраза | Категория | Описание |
|---|
На этой странице
Что такое справочник кодов состояния HTTP?#
Каждый HTTP-ответ несёт трёхзначный код состояния, сообщающий клиенту одним числом, что произошло с его запросом. Цифры не случайны: первая цифра называет семейство — 1xx означает «погодите, передаю информацию», 2xx — «вот, сработало», 3xx — «ищите в другом месте», 4xx — «вы, клиент, напутали», а 5xx — «я, сервер, напутал». Запомните эти пять семейств — и любой HTTP-обмен читается с одного взгляда: будь то запрос браузера, запущенный вами curl или ошибка в логах приложения.
Трудность в том, что активно используется более шестидесяти кодов, а различия между соседями часто тонки: 401 против 403, 302 против 307, 422 против 400. Эта страница — ищущий справочник по всем им: код, его IANA-фраза причины, семейство и простое объяснение. Введите число или слово, и таблица мгновенно сузится.
Как пользоваться#
- Просматривайте или ищите. Таблица перечисляет все коды, сгруппированные по семействам (от
1xxдо5xx). Используйте поле Поиск по коду или названию… сверху для фильтрации. - Ищите так, как думаете. Фильтр умно понимает намерение:
- Введите число вроде
30или418, и он сопоставит коды по префиксу —30поднимает всё семейство перенаправлений3xx. - Введите слово вроде
redirect,timeoutилиteapot, и он ищет по фразе причины и описанию без учёта регистра.
- Введите число вроде
- Читайте строку. Каждая строка показывает Код (число), Фразу (стандартную фразу, например «Not Found»), Категорию (локализованную метку семейства) и Описание (краткое пояснение, когда этот код возвращается). Строка состояния под таблицей сообщает, сколько строк подошло.
Ключевые возможности#
- Полный набор IANA плюс де-факто коды. Покрыт каждый код, который веб реально возвращает, — от
100 Continueдо511 Network Authentication Required, включая специфичные для WebDAV207/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). Это технические идентификаторы, поэтому они показаны как есть, без перевода; локализованная часть страницы — это заголовки колонок, метки категорий и этот пояснительный текст.