Справочник кодов состояния HTTP
Список всех кодов состояния HTTP из реестра IANA (100–511) с поиском: стандартное название, определяющий RFC и простое объяснение, когда код используется.
- 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?
Полный справочник с поиском по всем 64 кодам состояния HTTP, зарегистрированным в IANA: от 100 Continue до 511 Network Authentication Required. Для каждого кода показаны официальное название, определяющий его RFC и краткое объяснение, что он означает и когда его отправляют серверы; устаревшие и неиспользуемые коды помечены.
Как пользоваться Коды состояния HTTP
- Введите код (
404), часть кода (30) или слово (redirect,timeout) в строку поиска. - Отфильтруйте по классу: 1xx информационные, 2xx успех, 3xx перенаправление, 4xx ошибка клиента, 5xx ошибка сервера.
- Прочитайте название, 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.