Справочник кодов состояния HTTP

Список всех кодов состояния HTTP из реестра IANA (100–511) с поиском: стандартное название, определяющий RFC и простое объяснение, когда код используется.

64 из 64 кодов
  • 100ContinueRFC 9110

    Сервер получил заголовки запроса; клиент может продолжать отправку тела (ответ на Expect: 100-continue).

  • 101Switching ProtocolsRFC 9110

    Сервер согласен сменить протокол по заголовку Upgrade, например на WebSocket.

  • 102ProcessingRFC 2518

    WebDAV: сервер ещё обрабатывает долгий запрос, ответа пока нет.

  • 103Early HintsRFC 8297

    Отправляется до окончательного ответа, чтобы браузер начал предзагрузку ресурсов из заголовков Link.

  • 104Upload Resumption Supporteddraft-ietf-httpbis-resumable-uploadвременная регистрация

    Черновик возобновляемых загрузок: сервер умеет продолжать прерванные загрузки.

  • 200OKRFC 9110

    Запрос выполнен успешно. Тело содержит запрошенный ресурс или результат действия.

  • 201CreatedRFC 9110

    Создан новый ресурс; его URL обычно указан в заголовке Location.

  • 202AcceptedRFC 9110

    Запрос принят в обработку, но она ещё не завершена (асинхронные задачи).

  • 203Non-Authoritative InformationRFC 9110

    Успех, но содержимое изменено преобразующим прокси.

  • 204No ContentRFC 9110

    Успех без тела ответа — типично для DELETE или сохранения данных.

  • 205Reset ContentRFC 9110

    Успех; клиенту следует сбросить форму или представление, отправившее запрос.

  • 206Partial ContentRFC 9110

    Возвращена лишь часть ресурса согласно заголовку Range (докачка, перемотка видео).

  • 207Multi-StatusRFC 4918

    WebDAV: тело содержит отдельные коды состояния для нескольких ресурсов.

  • 208Already ReportedRFC 5842

    WebDAV: элементы привязки уже перечислены ранее в этом ответе.

  • 226IM UsedRFC 3229

    Дельта-кодирование: ответ — результат применённых к ресурсу преобразований.

  • 300Multiple ChoicesRFC 9110

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

  • 301Moved PermanentlyRFC 9110

    Ресурс навсегда перемещён по URL из Location; поисковики переносят ранжирование. Клиенты могут сменить POST на GET.

  • 302FoundRFC 9110

    Ресурс временно находится по другому URL; продолжайте использовать исходный. Клиенты могут сменить POST на GET.

  • 303See OtherRFC 9110

    Запросите другой URL методом GET — обычно после отправки формы (шаблон Post/Redirect/Get).

  • 304Not ModifiedRFC 9110

    Кешированная копия ещё актуальна (условный запрос с If-None-Match / If-Modified-Since); тело не отправляется.

  • 305Use ProxyRFC 9110устарел

    Устарел: к ресурсу нужно было обращаться через прокси. Не используется по соображениям безопасности.

  • 306(Unused)RFC 9110зарезервирован, не используется

    Зарезервирован; использовался в раннем черновике и больше не применяется.

  • 307Temporary RedirectRFC 9110

    Временное перенаправление с сохранением метода и тела (POST остаётся POST).

  • 308Permanent RedirectRFC 9110

    Постоянное перенаправление с сохранением метода и тела (POST остаётся POST).

  • 400Bad RequestRFC 9110

    Сервер не может обработать некорректный запрос (ошибка синтаксиса, неверные параметры или JSON).

  • 401UnauthorizedRFC 9110

    Требуется аутентификация или она не удалась; ответ содержит заголовок WWW-Authenticate.

  • 402Payment RequiredRFC 9110

    Зарезервирован на будущее; некоторые API используют его для проблем с оплатой или квотой.

  • 403ForbiddenRFC 9110

    Сервер понял запрос, но отказывает; повторный вход не поможет.

  • 404Not FoundRFC 9110

    По этому URL ресурса нет (или сервер не хочет этого раскрывать).

  • 405Method Not AllowedRFC 9110

    Этот HTTP-метод не поддерживается ресурсом; допустимые методы перечислены в заголовке Allow.

  • 406Not AcceptableRFC 9110

    Нет представления, подходящего под заголовки Accept клиента.

  • 407Proxy Authentication RequiredRFC 9110

    Как 401, но требуется аутентификация на прокси.

  • 408Request TimeoutRFC 9110

    Клиент слишком долго отправлял запрос, и сервер закрыл соединение.

  • 409ConflictRFC 9110

    Запрос конфликтует с текущим состоянием ресурса (конфликт правок, дубликат).

  • 410GoneRFC 9110

    Ресурс удалён навсегда и не вернётся; более строгий сигнал, чем 404.

  • 411Length RequiredRFC 9110

    Сервер требует заголовок Content-Length.

  • 412Precondition FailedRFC 9110

    Не выполнено предусловие вроде If-Match или If-Unmodified-Since (оптимистическая блокировка).

  • 413Content Too LargeRFC 9110

    Тело запроса больше допустимого сервером размера (лимит загрузки).

  • 414URI Too LongRFC 9110

    URL длиннее, чем сервер может обработать.

  • 415Unsupported Media TypeRFC 9110

    Тип содержимого тела (Content-Type) не поддерживается.

  • 416Range Not SatisfiableRFC 9110

    Запрошенный Range невыполним, например начинается после конца файла.

  • 417Expectation FailedRFC 9110

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

  • 418(Unused)RFC 9110зарезервирован, не используется

    Зарезервирован и не используется; известен по первоапрельскому RFC 2324 «I’m a teapot».

  • 421Misdirected RequestRFC 9110

    Запрос попал на сервер, который не может отвечать за этот хост (например, повторно использованное соединение HTTP/2).

  • 422Unprocessable ContentRFC 9110

    Синтаксис верен, но содержимое семантически некорректно (ошибки валидации).

  • 423LockedRFC 4918

    WebDAV: ресурс заблокирован.

  • 424Failed DependencyRFC 4918

    WebDAV: запрос не выполнен, потому что не удалось действие, от которого он зависел.

  • 425Too EarlyRFC 8470

    Сервер отказывается обрабатывать запрос, который может быть воспроизведён повторно (early data TLS 1.3).

  • 426Upgrade RequiredRFC 9110

    Клиент должен перейти на другой протокол из заголовка Upgrade.

  • 428Precondition RequiredRFC 6585

    Сервер требует условный запрос (If-Match), чтобы не потерять обновления.

  • 429Too Many RequestsRFC 6585

    Слишком много запросов за период (ограничение частоты); Retry-After подсказывает, когда повторить.

  • 431Request Header Fields Too LargeRFC 6585

    Заголовки запроса (или один из них, например cookie) слишком велики.

  • 451Unavailable For Legal ReasonsRFC 7725

    Ресурс недоступен по юридическим причинам, например по решению суда или из-за цензуры.

  • 500Internal Server ErrorRFC 9110

    Общая непредвиденная ошибка на сервере.

  • 501Not ImplementedRFC 9110

    Сервер не поддерживает нужную функциональность (например, неизвестный метод).

  • 502Bad GatewayRFC 9110

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

  • 503Service UnavailableRFC 9110

    Сервер временно перегружен или на обслуживании; может прислать Retry-After.

  • 504Gateway TimeoutRFC 9110

    Шлюз или прокси не дождался ответа от вышестоящего сервера.

  • 505HTTP Version Not SupportedRFC 9110

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

  • 506Variant Also NegotiatesRFC 2295

    Неверная настройка согласования содержимого: выбранный вариант сам выполняет согласование.

  • 507Insufficient StorageRFC 4918

    WebDAV: у сервера недостаточно места для выполнения запроса.

  • 508Loop DetectedRFC 5842

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

  • 510Not Extended (OBSOLETED)RFC 2774устарел

    Устарел: для запроса требовались дополнительные расширения (HTTP Extension Framework).

  • 511Network Authentication RequiredRFC 6585

    Для доступа к сети клиент должен пройти аутентификацию, например на captive-портале Wi-Fi.

Все коды из реестра кодов состояния HTTP IANA с указанием RFC, где они определены. Фразы состояния показаны на английском, потому что именно так они передаются по сети. Незарегистрированные коды отдельных продуктов (например, 499, 520–527) не включены.

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

Полный справочник с поиском по всем 64 кодам состояния HTTP, зарегистрированным в IANA: от 100 Continue до 511 Network Authentication Required. Для каждого кода показаны официальное название, определяющий его RFC и краткое объяснение, что он означает и когда его отправляют серверы; устаревшие и неиспользуемые коды помечены.

Как пользоваться Коды состояния HTTP

  1. Введите код (404), часть кода (30) или слово (redirect, timeout) в строку поиска.
  2. Отфильтруйте по классу: 1xx информационные, 2xx успех, 3xx перенаправление, 4xx ошибка клиента, 5xx ошибка сервера.
  3. Прочитайте название, RFC и объяснение для каждого кода.

Пример

Ввод
418
Вывод
418 (Unused) · RFC 9110 · reserved and unused; known from the "I’m a teapot" April Fools’ RFC 2324.

Когда использовать Коды состояния HTTP

Используйте при отладке API, чтении логов сервера или выборе статуса для собственных конечных точек. Неофициальные коды отдельных продуктов (Nginx 499, Cloudflare 520–527, IIS 440) в реестре отсутствуют и поэтому не перечислены.

Как работает Коды состояния HTTP

Список повторяет реестр кодов состояния HTTP IANA, который с 2022 года в основном определяется RFC 9110 (HTTP Semantics) плюс расширения вроде WebDAV (RFC 4918) и RFC 6585. Поиск сопоставляет префикс кода, английское название и объяснение на текущем языке, всё локально.

Распространенные Случаи Использования

  • Выбрать между 401 и 403 либо 400 и 422 для ошибки API.
  • Узнать, что означают 425 Too Early или 421 Misdirected Request из логов.
  • Объяснить клиенту, почему 410 Gone лучше 404 для удалённых страниц.
  • Выбрать 307 или 308, когда перенаправление должно сохранять метод POST.

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

Чем 401 отличается от 403?

401 означает, что клиент не аутентифицирован (или учётные данные не подошли), и сопровождается WWW-Authenticate. 403 означает, что сервер знает, кто вы, но доступ вам запрещён.

Настоящий ли код 418 I'm a teapot?

Он зарезервирован в реестре и указан в RFC 9110 как неиспользуемый, потому что многие библиотеки реализуют его из первоапрельского RFC 1998 года.

Почему 422 теперь называется Unprocessable Content?

RFC 9110 перенёс его из WebDAV в основной HTTP и переименовал из Unprocessable Entity.

Другие категории