ToolActToolAct

Запрос HTTP-кодов состояния

Быстрый поиск значений кодов состояния HTTP, включая все стандартные коды

Все: 62 个状态码

1xx Информация(4)

100Continue

Продолжить. Клиент должен продолжить отправку оставшейся части запроса.

101Switching Protocols

Переключение протоколов. Сервер понял запрос клиента и уведомляет о переключении протокола через заголовок Upgrade.

102Processing

Обработка. Сервер получил запрос и обрабатывает его, но ещё не завершил.

103Early Hints

Ранние подсказки. Используется для возврата некоторых заголовков перед финальным ответом, помогая клиенту предварительно загрузить ресурсы.

2xx Успех(10)

200OK

Успех. Запрос успешно обработан, ответ содержит запрошенные данные.

201Created

Создано. Запрос успешен и создан новый ресурс. Обычно используется для POST-запросов.

202Accepted

Принято. Запрос принят для обработки, но она ещё не завершена. Часто используется для асинхронной обработки.

203Non-Authoritative Information

Неавторитетная информация. Сервер успешно обработал запрос, но возвращённая информация может быть от третьей стороны.

204No Content

Нет содержимого. Запрос успешен, но ответ не содержит тела сообщения. Часто используется для DELETE-запросов.

205Reset Content

Сброс содержимого. Запрос успешен, клиент должен сбросить представление документа.

206Partial Content

Частичное содержимое. Сервер успешно обработал частичный GET-запрос, используется для возобновления загрузки.

207Multi-Status

Многостатусный. Ответ с несколькими кодами состояния (WebDAV).

208Already Reported

Уже сообщено. Участники привязки DAV уже были перечислены в предыдущем многостатусном ответе (WebDAV).

226IM Used

IM использован. Сервер выполнил GET-запрос, ответ использует операции экземпляра.

3xx Перенаправление(8)

300Multiple Choices

Множество вариантов. Запрошенный ресурс имеет несколько представлений, клиент должен выбрать.

301Moved Permanently

Перемещён навсегда. Запрошенный ресурс навсегда перемещён на новый URL, следует использовать новый адрес.

302Found

Найдено. Запрошенный ресурс временно доступен по другому URL.

303See Other

Смотреть другое. Следует использовать GET-метод для доступа к другому URL.

304Not Modified

Не изменено. Ресурс не был изменён, клиент может использовать кешированную версию.

305Use Proxy

Использовать прокси (устарело). Доступ к ресурсу должен осуществляться через указанный прокси.

307Temporary Redirect

Временное перенаправление. Запрос должен быть перенаправлен на другой URL с тем же методом и телом.

308Permanent Redirect

Постоянное перенаправление. Запрос должен быть навсегда перенаправлен на другой URL с тем же методом.

4xx Ошибка клиента(29)

400Bad Request

Неверный запрос. Сервер не может понять формат запроса, клиент должен изменить запрос и повторить.

401Unauthorized

Не авторизован. Запрос требует аутентификации пользователя.

402Payment Required

Требуется оплата. Зарезервировано для будущего использования, часто используется для платного контента.

403Forbidden

Запрещено. Сервер понял запрос, но отказывается его выполнять.

404Not Found

Не найдено. Запрошенный ресурс не существует, самый распространённый код состояния.

405Method Not Allowed

Метод не разрешён. Метод запроса не поддерживается, ответ будет содержать заголовок Allow.

406Not Acceptable

Неприемлемо. Сервер не может вернуть ответ в соответствии с типом содержимого, запрошенным клиентом.

407Proxy Authentication Required

Требуется аутентификация прокси. Клиент должен сначала аутентифицироваться на прокси-сервере.

408Request Timeout

Таймаут запроса. Сервер ожидал запрос слишком долго.

409Conflict

Конфликт. Запрос конфликтует с текущим состоянием сервера, часто используется для PUT-запросов.

410Gone

Удалено. Запрошенный ресурс навсегда удалён и не будет восстановлен.

411Length Required

Требуется длина. Запрос должен содержать заголовок Content-Length.

412Precondition Failed

Условие не выполнено. Условие в заголовке запроса не удовлетворено.

413Payload Too Large

Тело запроса слишком велико. Тело запроса превышает размер, который сервер готов обработать.

414URI Too Long

URI слишком длинный. Запрошенный URL слишком длинный для обработки сервером.

415Unsupported Media Type

Неподдерживаемый тип медиа. Формат тела запроса не поддерживается сервером.

416Range Not Satisfiable

Диапазон не может быть удовлетворён. Запрошенный диапазон недопустим.

417Expectation Failed

Ожидание не выполнено. Сервер не может удовлетворить ожидание в заголовке Expect.

418I'm a teapot

Я — чайник. Пасхалка из RFC 2324, означает, что сервер отказывается варить кофе.

421Misdirected Request

Неправильно направленный запрос. Запрос отправлен на сервер, который не может сгенерировать ответ.

422Unprocessable Entity

Необрабатываемая сущность. Формат запроса правильный, но семантическая ошибка не позволяет обработать его.

423Locked

Заблокировано. Запрошенный ресурс заблокирован (WebDAV).

424Failed Dependency

Сбой зависимости. Запрос не выполнен из-за сбоя предыдущего запроса (WebDAV).

425Too Early

Слишком рано. Сервер не готов обработать запрос, который может быть воспроизведён.

426Upgrade Required

Требуется обновление. Клиент должен переключиться на протокол TLS.

428Precondition Required

Требуется предварительное условие. Запрос должен содержать условный заголовок (например, If-Match).

429Too Many Requests

Слишком много запросов. Пользователь отправляет запросы слишком часто, следует ограничить скорость.

431Request Header Fields Too Large

Заголовки запроса слишком велики. Заголовки запроса слишком большие для обработки сервером.

451Unavailable For Legal Reasons

Недоступно по юридическим причинам. Ресурс недоступен по юридическим причинам.

5xx Ошибка сервера(11)

500Internal Server Error

Внутренняя ошибка сервера. Сервер столкнулся с неожиданной ситуацией и не может выполнить запрос.

501Not Implemented

Не реализовано. Сервер не поддерживает функциональность, необходимую для запроса.

502Bad Gateway

Неверный шлюз. Сервер в качестве шлюза или прокси получил недопустимый ответ от вышестоящего сервера.

503Service Unavailable

Сервис недоступен. Сервер временно не может обработать запрос, возможно из-за перегрузки или обслуживания.

504Gateway Timeout

Таймаут шлюза. Сервер в качестве шлюза или прокси не получил своевременный ответ от вышестоящего сервера.

505HTTP Version Not Supported

Версия HTTP не поддерживается. Сервер не поддерживает версию HTTP, используемую в запросе.

506Variant Also Negotiates

Вариант тоже согласуется. Ошибка конфигурации сервера, приводящая к циклу согласования содержимого.

507Insufficient Storage

Недостаточно места. Сервер не может сохранить ресурс, необходимый для выполнения запроса (WebDAV).

508Loop Detected

Обнаружен цикл. Сервер обнаружил бесконечный цикл при обработке запроса (WebDAV).

510Not Extended

Не расширено. Требуется дальнейшее расширение запроса для обработки.

511Network Authentication Required

Требуется сетевая аутентификация. Требуется сетевая аутентификация для продолжения (например, вход в hotspot).

Что такое коды состояния HTTP?

Справочник HTTP-кодов состояния объясняет ответы, которые сервер возвращает браузеру, поисковому роботу, приложению или API-клиенту после запроса. Коды 2xx обычно означают успех, 3xx — перенаправление, 4xx — проблему на стороне клиента, а 5xx — сбой на стороне сервера, но важны детали. 401 отличается от 403, 404 не равен 410, а 301 имеет другие SEO-последствия, чем 302. Инструмент помогает разработчикам, специалистам поддержки и владельцам сайтов быстро понять код и выбрать следующий шаг проверки в логах, заголовках, маршрутах или настройках доступа. Такая детализация сокращает время диагностики и уменьшает риск неверного исправления. Особенно полезно сопоставлять код с методом запроса и фактическим ответом сервера.

Как использовать

Быстрая справка

  1. Нажмите на карточку кода состояния, чтобы скопировать код
  2. Используйте строку поиска, чтобы быстро найти нужный код
  3. Нажмите на теги категорий, чтобы отфильтровать коды по типу
  4. Наведите курсор на коды, чтобы увидеть подробные описания

Примечания по отладке

  • Сначала определите семейство кода: 2xx — успех, 3xx — перенаправление, 4xx — ошибка клиента, 5xx — ошибка сервера.
  • При отладке API сопоставляйте код состояния с телом ответа, заголовками, методом запроса и серверными логами — один код редко объясняет проблему целиком.

Применение

Поиск кода состояния при отладке APIИщите по номеру, названию или описанию и фильтруйте по информационным, успешным, перенаправлениям, ошибкам клиента или сервера, чтобы понять ответ без открытия отдельного справочника. Каждая карточка содержит семейство по IETF и краткое описание — обычно достаточно для выбора следующего шага отладки до обращения к подробной документации.
Копирование кодов в тикеты и ответы поддержкиНажмите на карточку, чтобы скопировать числовой код при составлении баг-репортов, логов, пояснений клиентам, правил шлюзов или аннотаций мониторинга. Копируйте код вместе с кратким пояснением, чтобы тикет сохранял HTTP-контекст.
Разделение ошибок клиента и сервераИспользуйте сгруппированное расположение, чтобы отделить проблемы запросов 4xx от сбоев бэкенда 5xx, а поведение перенаправлений 3xx от успешных ответов 2xx. Это помогает направить инцидент ответственному ещё до глубокого анализа логов.
Сверка кода с определением IETF RFC перед цитированиемОткройте подробную карточку нужного кода, чтобы проверить, совпадает ли формулировка RFC с вашей интерпретацией — особенно для пар вроде 401 и 403, 404 и 410 или 301 и 308. Такая же тщательность полезна для новых кодов — 425 Too Early, 451 Unavailable For Legal Reasons, 421 Misdirected Request — которые ведут себя иначе в HTTP/2 и HTTP/3, чем классические 4xx и 3xx. RFC 9110, актуальный реестр семантики HTTP, объявляет устаревшими 305 Use Proxy и 306, переводит 418 в шуточную категорию и реорганизует 1xx: обязательными для браузера или прокси остаются только 100 Continue и 101 Switching Protocols; 102, 103 и расширения WebDAV — опциональны и редко пробиваются через CDN.
Использование сгруппированных списков при анализе дашбордов мониторингаПросматривайте группы перенаправлений, ошибок клиента и сервера в одном обзоре при объяснении всплесков коллегам, настройке порогов алертов или решении, какие классы ответов заслуживают отдельных runbook-записей. При всплеске 429 отдельно фиксируйте значение заголовка Retry-After, а не treating все 4xx одинаково — именно Retry-After является контрактом, который сервер даёт клиентам, и это единственное поле, отличающее корректный ответ с ограничением скорости от проблемного.

Технический принцип

Коды состояния HTTP — это трёхзначные целые числа, возвращаемые в строке начала ответа, определённые спецификацией HTTP Semantics. Текущий нормативный источник — RFC 9110 (HTTP Semantics, июнь 2022), который заменяет предыдущую серию RFC 7231, с расширениями в RFC 9111 (Caching), RFC 9112 (HTTP/1.1), RFC 9113 (HTTP/2) и RFC 9114 (HTTP/3). Первая цифра определяет класс ответа, поэтому нераспознанные коды всё равно имеют предсказуемую обработку: 1xx — информационные (промежуточные, за ними следует финальный ответ), 2xx — успешные, 3xx — перенаправления (требуется дополнительное действие клиентом), 4xx — ошибки клиента (запрос сформирован некорректно или не может быть выполнен), 5xx — ошибки сервера. Кеши и промежуточные узлы обязаны обрабатывать неизвестные коды как обобщённый код класса x00 (например, неизвестный 4xx обрабатывается как 400), именно это делает семейство кодов значимым даже для проприетарных или расширенных кодов. Коды перенаправления несут семантику сохранения метода, которая исторически отклонялась от намерения. RFC 9110 раздел 15.4 делает различие явным: 301 Moved Permanently и 302 Found могут перезаписать POST в GET (фактическое поведение, к которому пришли все браузеры к концу 1990-х, закреплённое в RFC 7231); 307 Temporary Redirect и 308 Permanent Redirect требуют от клиента повторить тот же метод и тело. SEO-инструменты обычно передают вес, аналогичный PageRank, при 301 и 308 и рассматривают 302/307 как сохраняющие сигнал исходного URL. Условные коды 304 Not Modified и 412 Precondition Failed зависят от заголовков запроса If-None-Match / If-Modified-Since / ETag / Last-Modified, а 206 Partial Content отвечает на заголовок Range заголовком Content-Range и телом multipart/byteranges при запросе нескольких диапазонов. Классы 4xx и 5xx несут детали контракта в заголовках. 401 Unauthorized должен содержать WWW-Authenticate с перечнем принятых схем (Bearer, Basic, Digest, Negotiate); без этого ответ технически некорректен. 405 Method Not Allowed должен содержать заголовок Allow со списком поддерживаемых методов. 429 Too Many Requests, 503 Service Unavailable и 301/307/308 с Retry-After позволяют серверу сигнализировать задержку либо в секундах (Retry-After: 120), либо в формате HTTP-date (Retry-After: Wed, 21 Oct 2025 07:28:00 GMT) согласно RFC 9110 раздел 10.2.3. RFC 9110 объявляет устаревшими 305 Use Proxy и 306 (зарезервирован/не используется), сохраняет 418 I'm a teapot как документированный шуточный код из RFC 2324 / RFC 7168 и реорганизует 1xx так, что только 100 Continue и 101 Switching Protocols обязательны на уровне HTTP/1.1; 102 Processing и 103 Early Hints (RFC 8297) — необязательные расширения, которые в основном проявляются через логику CDN-узлов.

  • Нормативный источник: RFC 9110 (HTTP Semantics, июнь 2022) заменяет RFC 7230-7235; расширения находятся в RFC 9111 (Caching), 9112 (HTTP/1.1 wire format), 9113 (HTTP/2), 9114 (HTTP/3)
  • Неизвестные коды деградируют до кода класса (x00): неизвестный 4xx кешируется и обрабатывается как 400, неизвестный 5xx как 500 — именно это делает первую цифру контрактом
  • Сохранение метода: 301/302 исторически допускают перезапись POST → GET (закреплено после расхождений браузеров начала 1990-х); 307/308 требуют воспроизведения того же метода и тела — используйте 308 для постоянного перемещения API-эндпоинтов
  • 401 Unauthorized должен содержать WWW-Authenticate; 405 Method Not Allowed должен содержать Allow; отсутствие этих заголовков является нарушением спецификации, ломающим корректные HTTP-клиенты
  • Retry-After (RFC 9110 раздел 10.2.3) при 429/503/301/307/308: принимает либо delta-seconds (Retry-After: 120), либо HTTP-date (Retry-After: Wed, 21 Oct 2025 07:28:00 GMT) — клиенты должны парсить обе формы
  • Условное кеширование: 304 Not Modified отвечает на совпадение If-None-Match / If-Modified-Since без тела; 206 Partial Content отвечает на Range заголовком Content-Range и либо частичным телом, либо документом multipart/byteranges
  • RFC 9110 объявляет устаревшими 305 Use Proxy и 306 (зарезервирован), сохраняет 418 I'm a teapot из RFC 2324 / RFC 7168 как шутку и рассматривает 102 Processing / 103 Early Hints (RFC 8297) как необязательные расширения 1xx, которые многие прокси удаляют

Примеры

2xx Успех - 200 OK и 204 No Content

200 OK            GET /api/users -> возвращено тело ответа
201 Created       POST /api/posts -> новый ресурс по заголовку Location
204 No Content    DELETE /api/posts/42 -> успех, пустое тело
206 Partial       Range-запрос для потокового видео или возобновляемых загрузок

RFC: RFC 7231 раздел 6.3 определяет коды успеха 2xx

3xx Перенаправления - 301 vs 302 vs 304

301 Moved Permanently  -> безопасно для SEO, браузеры кешируют новый URL навсегда
302 Found              -> временное перенаправление, не кешировать целевой URL
304 Not Modified       -> кешированная копия всё ещё актуальна (совпадение ETag/Last-Modified)
307 Temporary Redirect -> как 302, но метод НЕ должен меняться (POST остаётся POST)
308 Permanent Redirect -> как 301, но сохраняет метод запроса

RFC: RFC 7231 раздел 6.4 определяет коды перенаправления 3xx
RFC: RFC 7232 раздел 4.1 определяет семантику 304 Not Modified

4xx Ошибки клиента - аутентификация vs права

400 Bad Request    Некорректный JSON, отсутствует обязательное поле
401 Unauthorized   Отсутствует или недействителен токен - вызывающий должен пройти аутентификацию
403 Forbidden      Аутентифицирован, но доступ к ресурсу не разрешён
404 Not Found      Ресурс не существует (или притворяется, что не существует, в целях безопасности)
409 Conflict       Дубликат ключа, несоответствие версий оптимистичной блокировки
429 Too Many Reqs  Достигнут лимит частоты - см. заголовок Retry-After

RFC: RFC 7231 раздел 6.5 определяет коды ошибок клиента 4xx
RFC: RFC 6585 раздел 4 определяет 429 Too Many Requests

5xx Ошибки сервера - отладка апстрима

500 Internal Server Error  Необработанное исключение в коде приложения - проверьте логи
502 Bad Gateway            Nginx/апстрим получил недопустимый ответ от бэкенда
503 Service Unavailable    Обслуживание, перегрузка или загрузка приложения
504 Gateway Timeout        Апстрим не ответил в пределах таймаута прокси

RFC: RFC 7231 раздел 6.6 определяет коды ошибок сервера 5xx
Быстрая сортировка: 5xx = наша вина, 4xx = вина вызывающего

Реальная сессия curl с несколькими кодами

$ curl -I https://example.com/old-page
HTTP/2 301
location: https://example.com/new-page

$ curl -I https://example.com/admin
HTTP/2 401
www-authenticate: Bearer realm="api"

$ curl -X POST https://example.com/api/posts -d '{}'
HTTP/2 422
content-type: application/json

Примечание: 422 Unprocessable Entity - расширение WebDAV (RFC 4918), используемое для ошибок валидации

Часто задаваемые вопросы

Что означают классы 1xx, 2xx, 3xx, 4xx и 5xx?

1xx — информационные (на практике встречаются редко). 2xx — запрос выполнен успешно. 3xx — перенаправление: клиенту нужно перейти на другой URL. 4xx — проблема на стороне клиента (некорректный запрос, нет авторизации, ресурс не найден). 5xx — проблема на стороне сервера (запрос выглядел нормально, но сервер не справился). Читая лог, всегда сначала смотрите класс.

В чём разница между 301 и 302?

301 Moved Permanently сообщает клиентам и поисковикам, что ресурс переехал навсегда — браузеры агрессивно кэшируют этот редирект, а ссылочный вес SEO передаётся на новый URL. 302 Found — временный редирект; клиенты не должны кэшировать его надолго. Если нужен постоянный редирект с сохранением метода запроса, используйте 308; для временного с тем же ограничением — 307.

Когда возвращать 401, а когда 403?

401 Unauthorized означает, что клиент не аутентифицирован или прислал неверные учётные данные — в ответе должен быть заголовок WWW-Authenticate. 403 Forbidden означает, что сервер понимает, кто перед ним, и всё равно отказывается отдавать ресурс. Авторизация решает проблему 401; от 403 она не поможет.

Какой код возвращать для исчезнувших ресурсов — 404 или 410?

404 Not Found означает «не могу найти; возможно, существует где-то ещё или появится позже». 410 Gone означает «этот ресурс был, его удалили намеренно, больше его не ищите». Поисковики выкидывают URL с 410 из индекса быстрее, чем с 404, поэтому 410 — правильный выбор для убранных страниц, которые вы не хотите видеть в новых обходах.

Как читать статус-код при отладке API?

Сначала смотрите класс (4xx или 5xx подскажет, на чьей стороне проблема), затем конкретный код, потом тело ответа. В теле обычно лежит реальное сообщение об ошибке и внутренний код, а HTTP-статус — лишь категория. Параллельно изучайте заголовки: Retry-After, WWW-Authenticate, Location.

Вредят ли SEO коды, отличные от 2xx?

Какие-то да, какие-то нет. Долгие 5xx сигнализируют о ненадёжности сайта, и поисковики со временем сократят частоту обхода. Редиректы 301/308 передают ссылочный вес, а 302/307 — нет. 410 вычищает страницы из индекса, тогда как 404 ещё долго висят. 200 со «soft-404» в теле (страница «не найдено», возвращающая 200) хуже для SEO, чем настоящий 404, потому что засоряет индекс пустыми страницами.

Зачем нужны 418, 451 и другие необычные коды?

418 «I'm a teapot» — знаменитая первоапрельская шутка из RFC 2324, в продакшене ему делать нечего. 451 Unavailable For Legal Reasons означает блокировку из-за юридического требования (название — отсылка к «451 градусу по Фаренгейту» Брэдбери). 429 Too Many Requests сигнализирует о rate-limit и должен сопровождаться заголовком Retry-After. 503 Service Unavailable — правильный код для плановых работ.

Похожие инструменты

Типы MIME

Бесплатный онлайн-справочник MIME-типов: соответствие между расширением файла и MIME-типом. Поиск и фильтр по категориям: документы, изображения, видео.

Инструмент поиска IP-адреса

Бесплатный онлайн-инструмент для определения вашего публичного IP-адреса и геолокации: страна, город и провайдер. Узнайте свой IP мгновенно в браузере.

Справочник команд Git

Бесплатная онлайн-шпаргалка по командам Git: самые нужные команды с группировкой по категориям, поиском и фильтром для быстрого поиска подходящей команды.

Проверка SSL-сертификата

Бесплатный онлайн-инструмент проверки SSL-сертификатов. Проверьте действительность SSL/TLS-сертификата, срок действия, цепочку сертификатов, соответствие домена и многое другое.

Инструмент проверки порта

Онлайн-инструмент проверки портов. Проверьте, открыты ли порты на IP-адресе или домене. Пакетная проверка, отображение времени ответа, защита приватности в браузере.

Запрос таблицы ASCII

Бесплатная онлайн-таблица ASCII: управляющие, печатные и расширенные символы с кодами. Ищите и фильтруйте значения ASCII для быстрого поиска нужного символа.