logo
GeekFormat

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

Коды состояния высокой частоты

Результаты поиска (77)

100
1xx
Continue
已收到请求头,客户端应继续发送请求体
101
1xx
Switching Protocols
服务器正按 Upgrade 切换协议(如 WebSocket)
102
1xx
Processing
已接受请求,处理尚未结束(WebDAV)
103
1xx
Early Hints
在最终响应前返回 Link 等提示以预加载资源
104
1xx
Upload Resumption Supported
表明支持可恢复上传(IANA 临时注册,详见 httpbis 可恢复上传草案)
200
2xx
OK
请求成功
201
2xx
Created
已创建资源
202
2xx
Accepted
已接受,尚未处理完成(异步任务常见)
203
2xx
Non-Authoritative Information
成功,表示可能来自代理/缓存
204
2xx
No Content
成功,无响应体
205
2xx
Reset Content
成功,客户端应重置文档或表单视图
206
2xx
Partial Content
成功返回部分内容(Range)
207
2xx
Multi-Status
多状态 XML响应(WebDAV)
208
2xx
Already Reported
DAV 绑定成员已在先前响应中列出(WebDAV)
226
2xx
IM Used
已应用实例操作(Delta 编码,RFC 3229)
300
3xx
Multiple Choices
多种表示可选,需选择或重定向
301
3xx
Moved Permanently
资源永久迁移至新 URI
302
3xx
Found
资源临时位于其他 URI
303
3xx
See Other
应使用 GET 访问另一 URI 获取结果
304
3xx
Not Modified
缓存仍有效
305
3xx
Use Proxy
须经由代理(已弃用,不建议实现)
306
3xx
(Unused)
历史占位,HTTP/1.1 起未使用
307
3xx
Temporary Redirect
临时重定向,方法与正文不变
308
3xx
Permanent Redirect
永久重定向,方法与正文不变
400
4xx
Bad Request
语法无效,无法解析
401
4xx
Unauthorized
需身份验证(常配合 WWW-Authenticate)
402
4xx
Payment Required
预留,极少实现
403
4xx
Forbidden
拒绝访问(与401 不同:未必缺凭证)
404
4xx
Not Found
未找到资源
405
4xx
Method Not Allowed
该 URI 不支持此 HTTP 方法
406
4xx
Not Acceptable
无法生成 Accept 可接受的表示
407
4xx
Proxy Authentication Required
需先通过代理认证
408
4xx
Request Timeout
等待请求超时
409
4xx
Conflict
与资源当前状态冲突
410
4xx
Gone
资源曾存在且已永久移除
411
4xx
Length Required
缺少有效 Content-Length 等
412
4xx
Precondition Failed
前置条件(如 If-*)不满足
413
4xx
Content Too Large
请求体过大(RFC 9110 用语)
414
4xx
URI Too Long
URI 过长
415
4xx
Unsupported Media Type
不支持的媒体类型
416
4xx
Range Not Satisfiable
无法满足 Range
417
4xx
Expectation Failed
无法满足 Expect 头
418
4xx
(Unused)
RFC 9110 标记未使用;典故为 RFC 2324「I'm a teapot」
421
4xx
Misdirected Request
请求未指向能响应的服务器/连接(如 HTTP/2)
422
4xx
Unprocessable Content
语义可理解但无法处理(校验失败等)
423
4xx
Locked
资源被锁定(WebDAV)
424
4xx
Failed Dependency
依赖请求失败(WebDAV)
425
4xx
Too Early
拒绝可能重放的过早请求
426
4xx
Upgrade Required
需升级到 Upgrade 指定的协议
428
4xx
Precondition Required
源站要求条件请求以防冲突
429
4xx
Too Many Requests
请求过于频繁,应限速
431
4xx
Request Header Fields Too Large
请求头整体或单项过大
444
vendor
No Response (nginx)
Nginx 直接关连接不返回状态行(常见于限流/屏蔽)
451
4xx
Unavailable For Legal Reasons
因法律原因不可提供
495
vendor
SSL Certificate Error (nginx)
Nginx:客户端证书校验失败
496
vendor
SSL Certificate Required (nginx)
Nginx:需要客户端证书
497
vendor
HTTP to HTTPS Port (nginx)
Nginx:向 HTTPS 端口发送明文 HTTP
499
vendor
Client Closed Request (nginx)
客户端在响应完成前关闭连接
500
5xx
Internal Server Error
服务器内部错误
501
5xx
Not Implemented
不支持该方法或能力
502
5xx
Bad Gateway
网关从上游收到无效响应
503
5xx
Service Unavailable
过载或维护,暂不可用
504
5xx
Gateway Timeout
网关等待上游超时
505
5xx
HTTP Version Not Supported
不支持请求中的 HTTP 版本
506
5xx
Variant Also Negotiates
透明协商配置错误
507
5xx
Insufficient Storage
存储空间不足(WebDAV)
508
5xx
Loop Detected
检测到循环(WebDAV)
510
5xx
Not Extended
需扩展(RFC 2774 实验状态,IANA 标为 OBSOLETED,可忽略)
511
5xx
Network Authentication Required
需在网络层认证(如强制门户)
520
vendor
Unknown Error (Cloudflare)
源站返回异常或空响应
521
vendor
Web Server Is Down (Cloudflare)
无法与源站建立 TCP
522
vendor
Connection Timed Out (Cloudflare)
与源站握手或连接超时
523
vendor
Origin Is Unreachable (Cloudflare)
无法路由到源站
524
vendor
A Timeout Occurred (Cloudflare)
源站已连接但未及时返回完整响应
525
vendor
SSL Handshake Failed (Cloudflare)
与源站 SSL 握手失败
526
vendor
Invalid SSL Certificate (Cloudflare)
源站证书无效
527
vendor
Railgun Error (Cloudflare)
Railgun 边缘到源监听错误(Cloudflare 专用)

Бесплатный справочник кодов состояния HTTP с полным покрытием 5 категорий: 1xx Информационные/2xx Успех/3xx Редирект/4xx Ошибка клиента/5xx Ошибка сервера, плюс расширения вендоров. Поддерживает фильтрацию по категориям и поиск по ключевым словам, необходим для разработки и отладки.

Похожие

Варианты использования

  • Отладка Web/API: При ошибках в API быстро ищите значение кодов состояния для определения направления решения (параметры фронтенда или баг бэкенда?)
  • Устранение проблем интеграции API: Различать сбой авторизации 401, недостаток прав 403, неверный адрес 404, ошибку сервера 500
  • Диагностика операционных сбоев: При встрече ошибок 502/503/504/522/524 быстро находите причины и решения
  • SEO-работа: Проверять корректность типов редиректов 301/302, проверять адекватность обработки страниц ошибок 404
  • Изучение протокола HTTP: Начинающие систематически изучают категории HTTP-кодов и назначение каждого кода
  • Подготовка к собеседованиям: Собеседования фронтенд/бэкенд часто спрашивают различия 301 vs 302, 401 vs 403, 502 vs 504
  • Анализ логов: Понимать значение каждого кода состояния при анализе логов доступа Nginx/Apache/CDN

Функции

  • Полное покрытие: Стандартные коды 1xx-5xx + расширения вендоров Cloudflare/Nginx (5xx vendor), всё в одном месте
  • Карточки быстрого доступа: 12 самых используемых кодов (200/301/302/304/400/401/403/404/429/500/502/503) — клик по карточкам для прямого просмотра деталей
  • Фильтр по категориям: Фильтрация в один клик по категориям 1xx/2xx/3xx/4xx/5xx/vendor для быстрого определения типов проблем
  • Поиск по ключевым словам: Поддержка нечёткого поиска по номеру кода, английскому названию или описанию для быстрого нахождения целевого кода
  • Цветовая кодировка: 2xx зелёный (успех), 3xx/4xx жёлтый (внимание/проблемы клиента), 5xx красный (проблемы сервера) для интуитивной визуальной оценки
  • Таблица на десктопе/карточки на мобильном: Полная таблица на десктопе, адаптивные карточки на мобильном для отличного опыта на всех устройствах
  • Копирование сводки фильтров в один клик: Копируйте текущие условия фильтрации и количество результатов для тикетов/документации

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

  1. Просто введите номер кода состояния (напр: 404) или ключевое слово (напр: redirect, forbidden, timeout) в поле поиска
  2. Или нажмите кнопки категорий (1xx/2xx/3xx/4xx/5xx/vendor) для навигации по категориям
  3. Нажмите на карточки частых кодов для быстрой фильтрации по этому коду
  4. Просматривайте название кода состояния, цвет категории и подробное описание
  5. Нажмите кнопку копирования для копирования текущей отфильтрованной сводки для регистрации проблем

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

Что такое коды состояния HTTP и для чего они нужны?

Коды состояния HTTP — это трёхзначные числовые коды, возвращаемые серверами в ответ на HTTP-запросы, указывающие успешен ли запрос, произошла ошибка или требуется дополнительное действие. Они делятся на 5 категорий: 1xx Информационные, 2xx Успех, 3xx Редирект, 4xx Ошибка клиента, 5xx Ошибка сервера. При разработке и отладке коды состояния быстро указывают направление проблемы: 2xx — успех без действий; 4xx — проверять параметры запроса/авторизацию/права/лимит частоты; 5xx — проверять логи сервера.

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

Ключевое различие: 301 — это **постоянный редирект** — браузеры/поисковики кэшируют новый адрес, SEO-авторитет передаётся новому URL; 302 — это **временный редирект** — не кэшируется, авторитет не передаётся. Есть также важное различие в изменении метода: исторически 301/302 меняли POST на GET (неточное поведение), а 307/308 строго сохраняют исходный метод запроса. Используйте 301 для HTTPS-редиректов, миграции домена, постоянных смен URL; используйте 302 или 307 для временного обслуживания и страниц кампаний.

В чём разница между 401 и 403?

401 Unauthorized означает «не авторизован» — сервер не знает кто вы, нужно сначала войти/предоставить токен (обычно с заголовком WWW-Authenticate); 403 Forbidden означает «авторизован но нет прав» — сервер знает кто вы, но у вас нет прав доступа к этому ресурсу. Проще говоря: 401 — «вы не взяли пропуск», 403 — «у вас есть пропуск но в эту комнату нельзя».

В чём разница между 502, 503 и 504?

Все это ошибки сервера но с разными причинами: 502 Bad Gateway означает что обратный прокси получил **невалидный ответ** от upstream (упал бэкенд/ошибка протокола); 503 Service Unavailable означает что сервер **временно недоступен** (перегрузка/обслуживание/сервис не запущен); 504 Gateway Timeout означает что прокси-сервер **получил таймаут ожидая upstream** (бэкенд обрабатывает слишком медленно/медленные запросы к БД). При диагностике: для 502 проверять живы ли бэкенд процессы и логи ошибок; для 503 проверять статус сервиса/лимиты/страницы обслуживания; для 504 проверять производительность бэкенда/медленные запросы/настройки таймаута.

Когда использовать 200 OK vs 204 No Content?

200 OK — стандартный успешный ответ, может возвращать тело ответа (напр: результаты запроса, данные созданного ресурса); 204 No Content означает успех но **не возвращает тело ответа**, обычно используется для успешного DELETE, успешных обновлений PUT/POST где не нужно возвращать данные. Ответ 204 не должен содержать body.

Как обрабатывать код лимита частоты 429?

429 Too Many Requests означает что клиент превысил лимит частоты запросов сервера. Ответ обычно содержит заголовок Retry-After, указывающий сколько секунд ждать перед повторной попыткой. Клиенты должны реализовать экспоненциальную задержку (Exponential Backoff): ждать 1 секунду при первой попытке, 2 при второй, 4 при третьей... Также проверяйте заголовки X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset для информации о квотах.

Что такое коды расширений вендоров, например 520-527 от Cloudflare?

Стандартные коды состояния HTTP определены только в диапазоне 100-599 и большинство зарегистрировано в IANA, но провайдеры CDN/прокси определяют пользовательские расширения: Cloudflare определяет серию 520-527 для проблем с подключением к источнику (521 источник отказал, 522 таймаут соединения, 524 таймаут ответа и т.д.); Nginx определяет 499 (клиент закрыл соединение). Эти коды не являются стандартными HTTP-кодами но часто встречаются в реальной операционной диагностике, и этот инструмент включает часто используемые коды расширений вендоров.

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

Коды состояния HTTP (HTTP Status Code) — это трёхзначные числовые коды, возвращаемые серверами при ответе на HTTP-запросы, указывающие результат обработки — успешно или произошла ошибка? При ошибке это проблема клиента или сервера? Требуется ли редирект? Это одна из самых базовых и важных диагностических информаций в веб-разработке и веб-операциях.

Коды состояния делятся на 5 категорий по первой цифре: **1xx Информационный ответ** (запрос получен, обработка продолжается, редко на практике); **2xx Успех** (запрос успешно обработан, самый распространённый — 200 OK); **3xx Редирект** (требуются дополнительные действия клиента, напр: 301 постоянный редирект, 302 временный редирект, 304 кэш-попадание); **4xx Ошибка клиента** (проблема с запросом, напр: 400 неверные параметры, 401 не авторизован, 403 нет прав, 404 не найден, 429 лимит частоты); **5xx Ошибка сервера** (сервер не смог обработать запрос, напр: 500 внутренняя ошибка, 502 Bad Gateway, 503 недоступен, 504 таймаут).

**Почему различать 4xx и 5xx?** Это суждение первой приоритетности при диагностике: увидев 4xx вы сначала проверяете свой запрос — URL корректный, параметры полные, токен включён, права достаточные, запросы не слишком частые?; увидев 5xx вы проверяете логи сервера — здоровы ли бэкенд процессы, подключена ли база данных, корректна ли конфигурация, есть ли перегрузка?. Ошибка направления тратит много времени на отладку.

**Различия между кодами редиректа — частый вопрос на экзаменах**: 301 — постоянный редирект (передача SEO-авторитета, кэш браузера), 302 — временный редирект (без передачи авторитета), 307/308 строго сохраняют метод запроса (POST не преобразуется в GET). На практике используйте 301 для HTTPS-редиректов и миграции доменов, 302 для временного обслуживания, 303 для редиректов после отправки форм POST (паттерн PRG).

Этот инструмент **полностью включает** все стандартные коды состояния HTTP (включая легко спутываемые вроде 303/307/308, 405/409/422/429 и т.д.) а также часто используемые коды расширений вендоров от Cloudflare/Nginx (520-527, 499). Поддерживает фильтрацию по категориям, поиск по ключевым словам и карточки быстрого доступа — необходимый повседневный справочный инструмент для отладки разработки, устранения проблем с API и локализации операционных сбоев.

术语表

HTTP
HyperText Transfer Protocol, фундаментальный протокол передачи данных во Всемирной паутине, основанный на TCP/IP, использующий модель запрос-ответ. Текущие основные версии — HTTP/1.1 и HTTP/2, HTTP/3 основан на QUIC.
Идемпотентность (Idempotence)
Выполнение одного и того же запроса несколько раз имеет тот же эффект что и однократное выполнение. GET/HEAD/PUT/DELETE/OPTIONS/TRACE идемпотентны; POST не идемпотентен (множественные отправки создают множественные ресурсы). Важная причина сохранения метода в 307/308 — поддержание идемпотентности.
CORS (Cross-Origin Resource Sharing)
Механизм доступа к ресурсам между разными источниками в рамках политики same-origin браузера. Preflight-запросы CORS (OPTIONS) могут возвращать 405 Method Not Allowed или CORS-ошибки, одна из самых частых проблем во фронтенд-разработке.
Паттерн PRG (Post/Redirect/Get)
Лучшая практика отправки веб-форм: После отправки формы через POST возвращать редирект 303 See Other на страницу результатов, избегая дублирующих отправок при обновлении страницы пользователем. Это самый типичный сценарий использования 303.
Retry-After
Заголовок ответа HTTP, используемый с 503 Service Unavailable или 429 Too Many Requests для указания клиентам сколько секунд ждать перед повторным запросом.
WWW-Authenticate
Заголовок ответа HTTP, используемый с 401 Unauthorized для указания клиентам какую схему аутентификации использовать (Basic/Bearer/Digest и т.д.) и область аутентификации.
ETag / If-None-Match
Механизм валидации кэша. Сервер возвращает ETag, идентифицирующий версию ресурса; клиенты отправляют заголовок If-None-Match в последующих запросах, и если ресурс не изменился сервер возвращает 304 Not Modified (без body, экономя пропускную способность).
Обратный прокси (Reverse Proxy)
Прокси-сервер (как Nginx, Cloudflare, HAProxy), расположенный между клиентами и бэкенд-серверами, принимающий запросы от клиентов и пересылающий их бэкендам, затем возвращающий ответы от бэкендов клиентам. Ошибки 502/503/504 возникают все между обратным прокси и бэкендом.

Обзор 5 категорий кодов состояния HTTP

КлассЗначениеНазначениеЧастые коды
1xxИнформационный ответ (Informational)Запрос получен, обработка продолжается (промежуточное состояние протокола)100 Continue, 101 Switching Protocols
2xxУспешный ответ (Success)Запрос успешно получен, понят и принят сервером200 OK, 201 Created, 204 No Content, 206 Partial Content
3xxРедирект (Redirection)Для завершения запроса требуются дополнительные действия клиента301 Moved Permanently, 302 Found, 304 Not Modified, 307/308
4xxОшибка клиента (Client Error)Запрос содержит синтаксическую ошибку или не может быть выполнен, ошибка клиента400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests
5xxОшибка сервера (Server Error)Сервер не смог выполнить явно валидный запрос, ошибка сервера500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout

Сравнение частых кодов редиректа (301/302/303/307/308)

КодНазваниеПостоянныйИзменение методаКэшируемыйТипичный сценарий
301Moved Permanently✅ ПостоянныйPOST может стать GET (историческая совместимость)✅ Кэшируется по умолчаниюРедизайн сайта, миграция домена, HTTP→HTTPS, устаревшие URL
302Found❌ ВременныйPOST может стать GET (историческая совместимость)❌ Не кэшируется по умолчаниюВременный редирект на обслуживание, кампании, A/B тестирование
303See Other❌ ВременныйPOST→GET (явное изменение)❌ Не кэшируется по умолчаниюРедирект на страницу результатов после отправки формы POST (паттерн PRG)
307Temporary Redirect❌ ВременныйСтрого сохраняет исходный метод❌ Не кэшируется по умолчаниюВременный редирект, строго сохраняющий метод и тело запроса
308Permanent Redirect✅ ПостоянныйСтрого сохраняет исходный метод✅ Кэшируется по умолчаниюПостоянный редирект, предотвращающий преобразование POST в GET

Руководство по устранению частых ошибок клиента

КодЗначениеЧастые причиныНаправление решения
400Bad RequestСинтаксическая ошибка запроса/отсутствующие параметры/ошибка формата JSON/слишком большие заголовкиПроверить параметры запроса, Content-Type, URL-кодировку
401UnauthorizedНе авторизован/Токен истёк/отсутствует заголовок AuthorizationПроверить статус входа, срок действия токена, формат заголовка Bearer
403ForbiddenАвторизован но нет прав/IP заблокирован/CSRF токен невалиден/WAF заблокировалПроверить права пользователя, белый список IP, правила WAF, CSRF токен
404Not FoundURL не существует/ресурс удалён/ошибка конфигурации маршрутизацииПроверить написание URL, конфигурацию маршрутов, удалён ли ресурс
405Method Not AllowedНеправильный метод запроса (напр: POST для endpoint, принимающего только GET)Проверить HTTP методы (GET/POST/PUT/DELETE и т.д.), preflight CORS
408Request TimeoutКлиент отправляет запрос слишком медленно/задержка сети/слишком короткий таймаут сервераПроверить сетевое соединение, увеличить таймаут, загружать пакетами
409ConflictКонфликт ресурсов (напр: дублирование создания, конфликт версий, одновременное изменение)Проверить дублирующие отправки, использовать оптимистичные блокировки/ключи идемпотентности
413Payload Too LargeЗагружаемый файл/тело запроса превышает лимит сервераПроверить client_max_body_size nginx, сжимать файлы, фрагментированная загрузка
422Unprocessable EntityФормат запроса корректный но семантическая ошибка (напр: ошибка валидации полей)Валидация параметров RESTful API, проверить обязательные поля, типы данных, форматы
429Too Many RequestsПревышен лимит частоты/слишком высокая частота запросовСнизить частоту запросов, добавить экспоненциальную задержку, запросить большую квоту

Частые ошибки сервера и коды расширений Cloudflare

КодЗначениеЧастые причины
500Internal Server ErrorИсключение в коде сервера/непойманная ошибка/сбой подключения к БД/ошибка конфигурации
501Not ImplementedСервер не поддерживает запрошенную функциональность (напр: неподдерживаемый HTTP метод)
502Bad GatewayОбратный прокси (nginx/CDN) получил невалидный ответ от upstream/упал бэкенд процесс/не запущен PHP-FPM
503Service UnavailableСервер перегружен/на обслуживании/не запущен бэкенд сервис/пул соединений исчерпан
504Gateway TimeoutОбратный прокси получил таймаут ожидая ответа от upstream/бэкенд обрабатывает слишком медленно/медленные запросы к БД
520Web Server Returned Unknown Error (CF)Cloudflare: Источник вернул неизвестный/аномальный ответ (ошибка протокола/пустой ответ/без кода состояния)
521Web Server Is Down (CF)Cloudflare: Исходный сервер отказал в соединении (источник оффлайн/файрвол блокирует IP CF)
522Connection Timed Out (CF)Cloudflare: Невозможно установить TCP соединение с источником (файрвол источника/security group/iptables)
523Origin Is Unreachable (CF)Cloudflare: IP источника недоступен (исходный сервер не существует/проблемы маршрутизации)
524A Timeout Occurred (CF)Cloudflare: TCP соединение установлено но источник получил таймаут возвращая HTTP ответ (>100с), часто при медленных запросах/длинных задачах
499Client Closed Request (Nginx)Код расширения Nginx: Клиент закрыл соединение до ответа сервера (пользователь отменил/таймаут фронтенда)

Authoritative References