Справочник кодов состояния HTTP
Просматривайте, ищите и фильтруйте любые коды состояния HTTP: от информационных 1xx до ошибок сервера 5xx. Каждая запись содержит каноническое значение, ссылку на RFC, правила использования, распространенные ошибки и готовые к копированию примеры кода для Express, Django, FastAPI и Go net/http.
Ваш блокировщик рекламы мешает показывать объявления
MiniWebtool бесплатен благодаря рекламе. Если этот инструмент помог, поддержите нас через Premium (без рекламы + быстрее) или добавьте MiniWebtool.com в исключения и обновите страницу.
- Или перейдите на Premium (без рекламы)
- Разрешите показ рекламы на MiniWebtool.com, затем перезагрузите страницу.
О Справочник кодов состояния HTTP
Справочник кодов состояния HTTP — это полный интерактивный указатель всех кодов состояния, определенных в спецификациях HTTP, от 100 Continue до 511 Network Authentication Required. Каждая запись содержит каноническое название, определяющий его стандарт RFC, реальное значение кода, информацию о том, когда его следует отправлять, когда не следует, и типичные ошибки, с которыми сталкиваются реальные кодовые базы. Живой фильтр и вкладки категорий позволяют переходить от класса к классу в один клик.
В отличие от обычной шпаргалки, этот инструмент предоставляет для каждого кода отдельную микространицу с тремя цветовыми панелями (делать / не делать / подводные камни) и готовыми к вставке обработчиками для Express.js, Django, FastAPI и Go net/http. Анимированная схема наглядно показывает путь запроса от клиента к серверу и возвращаемый обратно код состояния, что особенно полезно для новичков, изучающих, как коды состояния передаются по сети.
Почему важен справочник кодов состояния HTTP
🎯 Выбирайте правильный код
Выбор кода 200 при ошибке в ответе или 500 для ошибки валидации приводит к ложным срабатываниям систем мониторинга и путает клиентов. Панели рекомендаций делают правильный выбор очевидным.
📚 Ссылки на RFC
Каждая запись ссылается на соответствующий раздел документов RFC 9110, RFC 6585, RFC 4918 или других стандартов. Больше никаких споров о том, отвечает ли код 422 за синтаксис или за семантику.
🧩 Фрагменты кода для фреймворков
Удобные однострочники для Express, Django, FastAPI и Go net/http, включая заголовки, которые ожидает строгий клиент (Location для 201, Retry-After для 429 и 503, Allow for 405).
Как использовать Справочник кодов состояния HTTP
- Быстрый поиск. Введите код (
404) или часть названия (teapot,gateway) в поле поиска наверху и нажмите кнопку отправки. Соответствующая запись откроется с полной панелью подробностей. - Просмотр по классам. Нажмите на любую из 5 категорий (1xx, 2xx, 3xx, 4xx, 5xx), чтобы отфильтровать сетку карточек по этому классу. Нажмите Все для сброса.
- Живой фильтр. Поле фильтра прямо над сеткой сужает список карточек по мере ввода текста — удобно, если вы помните только половину названия, например too many или precondition.
- Изучение кода. Нажмите на любую карточку, чтобы открыть детальную панель. Вы увидите значение, сценарии использования, предостережения, частые ошибки и блок кода для 4 фреймворков.
- Копирование фрагментов. Используйте переключатель вкладок и небольшую кнопку Копировать, чтобы забрать готовый к вставке код.
- Сравнение соседних кодов. Панель сведений заканчивается карточками соседних кодов из того же класса (1xx / 2xx / 3xx / 4xx / 5xx) для быстрого параллельного сравнения.
Обзор пяти классов кодов состояния HTTP
| Класс | Значение | Известные представители |
|---|---|---|
| 1xx Информационные | Запрос принят, продолжайте процесс | 100 Continue, 101 Switching Protocols, 103 Early Hints |
| 2xx Успешные | Запрос был успешно получен и обработан | 200 OK, 201 Created, 204 No Content, 206 Partial Content |
| 3xx Перенаправления | Для завершения запроса нужно предпринять дальнейшие действия | 301 Moved Permanently, 302 Found, 304 Not Modified, 308 Permanent Redirect |
| 4xx Ошибки клиента | Запрос содержит синтаксические ошибки или не может быть выполнен | 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests |
| 5xx Ошибки сервера | Сервер не смог выполнить корректный запрос | 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout |
Часто путаемые пары
- 401 против 403. 401 означает не аутентифицирован — в запросе отсутствуют действительные учетные данные. 403 означает аутентифицирован, но доступ запрещен — учетные данные верны, но у пользователя нет необходимых прав.
- 404 против 410. 404 означает неизвестен: возможно, ресурс существует где-то еще, либо допущена опечатка. 410 означает намеренно удален: поисковые системы должны исключить эту страницу из своего индекса.
- 301 против 302 против 307 против 308. Коды 301 / 308 являются постоянными (308 строго сохраняет метод и тело запроса), а 302 / 307 — временными (307 строго сохраняет метод и тело запроса). Используйте 307 / 308 для перенаправлений методов POST / PUT / PATCH.
- 400 против 422. 400 означает, что тело запроса составлено некорректно (невалидный JSON, пропущено обязательное поле). 422 означает, что тело успешно распарсилось, но значения не проходят бизнес-правила (неверный формат email, количество выходит за допустимые рамки).
- 502 против 503 против 504. 502 означает, что вышестоящий сервер вернул некорректный ответ. 503 означает, что сервер перегружен или находится на обслуживании. 504 означает, что вышестоящий сервер не ответил вовремя.
- 409 против 412. 409 указывает на конфликт с текущим состоянием ресурса. 412 конкретно означает, что заголовок предварительного условия (If-Match, If-Unmodified-Since) вернул false при вычислении.
Заголовки, привязанные к определенным кодам состояния
- 201 Created — должен включать заголовок
Location, указывающий на новый созданный ресурс. - 301 / 302 / 307 / 308 — обязаны включать заголовок
Locationс целевым URL. - 304 Not Modified — должен дублировать заголовки, которые были бы отправлены при коде 200 (
ETag,Cache-Control,Vary). - 401 Unauthorized — обязан содержать заголовок
WWW-Authenticateсо списком поддерживаемых схем (Basic, Bearer). - 405 Method Not Allowed — должен включать заголовок
Allowсо списком разрешенных методов. - 413 / 429 / 503 — часто включают заголовок
Retry-After(в секундах или в формате HTTP-date), чтобы клиенты знали, когда повторить попытку. - 416 Range Not Satisfiable — обязан включать заголовок
Content-Range: bytes */<length>.
Коды состояния, которые почти всегда можно игнорировать
Ряд кодов технически валиден, но крайне редко встречается в современных API: 305 Use Proxy (устарел), 306 (зарезервирован, не используется), 305, 506 Variant Also Negotiates, 510 Not Extended и 508 Loop Detected. Большинство из них хранятся в реестре по историческим причинам. Если ваша библиотека или middleware возвращает один из них, скорее всего, это баг самой библиотеки, а не повод писать под него специальную логику обработки.
FAQ
- Включает ли инструмент коды из других RFC, помимо 9110?
- Да. Справочник охватывает RFC 9110 (семантика HTTP), RFC 6585 (дополнительные коды 4xx / 5xx), RFC 4918 (WebDAV), RFC 5842 (привязки WebDAV), RFC 7725 (451), RFC 8297 (103 Early Hints), RFC 8470 (425 Too Early) и знаменитый шуточный RFC 2324 (418 Teapot).
- Действительны ли эти коды в HTTP/2 и HTTP/3?
- Да. Семантика кодов состояния определена в RFC 9110, который является документом по семантике HTTP, не зависящим от версии. Стандарты HTTP/2 (RFC 9113) и HTTP/3 (RFC 9114) меняют только фрейминг и механизмы транспорта.
- Можно ли сослаться напрямую на конкретный код?
- Отправьте форму с одним кодом (например,
404), и панель с подробным описанием загрузится под формой. URL-адрес страницы сохранит параметры вашего поиска, и им можно делиться с другими пользователями — при его открытии отобразится тот же результат. - Почему мой фреймворк не позволяет возвращать код 418?
- Старые версии некоторых HTTP-библиотек отказываются отправлять коды, отсутствующие в их внутреннем реестре. Решением является обновление библиотеки или, где это возможно, запись строки статуса вручную.
- Должен ли API когда-либо возвращать код 200 с телом ошибки?
- Нет. Системы мониторинга, механизмы повторных запросов и промежуточные прокси-серверы исходят из того, что класс 2xx означает успех. Если вам нужно передать структуру ошибки, верните подходящий код 4xx или 5xx, а структурированные детали поместите внутрь тела ответа. Отличным шаблоном для этого является формат Problem Details для HTTP API (RFC 9457).
- Существует ли авторитетный реестр кодов состояния HTTP?
- Да. IANA поддерживает официальный реестр по адресу
iana.org/assignments/http-status-codes. Данный инструмент синхронизируется с этим реестром, а также с наиболее часто цитируемыми стандартами RFC.
Ссылайтесь на этот контент, страницу или инструмент так:
"Справочник кодов состояния HTTP" на сайте https://ru.miniWebtool.com// от MiniWebtool, https://MiniWebtool.com/
командой MiniWebtool. Обновлено: 2026-05-21