Skip to content

HTTP-коды состояния

Ниже перечислены коды состояния, поддерживаемые фреймворком. Они присваиваются ответу через ctx->response->statusCode или передаются в send_default(). Коды, не входящие в список, формируют пустую строку состояния, поэтому используйте только перечисленные ниже.

О том, как применять эти коды в обработчиках, читайте в разделе HTTP-ответы.

Информационные

КодОписание
100 ContinueКлиент должен продолжить передачу тела запроса
101 Switching ProtocolsСервер переключает протокол по запросу (например, WebSocket)
102 ProcessingСервер получил запрос и продолжает его обработку
103 Early HintsПредварительные заголовки перед финальным ответом

Успешные

КодОписание
200 OKЗапрос выполнен успешно
201 CreatedЗапрос выполнен, и был создан новый ресурс
202 AcceptedЗапрос принят к обработке, но ещё не завершён
203 Non-Authoritative InformationВозвращаемые данные — преобразованная копия ответа источника
204 No ContentЗапрос выполнен; тело ответа намеренно пустое
205 Reset ContentКлиент должен сбросить документ, отправивший запрос
206 Partial ContentПередаётся только часть ресурса (запрос диапазона)
207 Multi-StatusТело содержит несколько отдельных кодов состояния (WebDAV)
208 Already ReportedЭлементы привязки уже были перечислены ранее (WebDAV)
226 IM UsedСервер выполнил GET-запрос с использованием преобразования экземпляра

Перенаправления

КодОписание
300 Multiple ChoicesЗапрос имеет более одного возможного ответа
301 Moved PermanentlyРесурс окончательно перемещён на новый URL
302 FoundРесурс временно доступен по другому URL
303 See OtherКлиент должен запросить ответ по другому URL методом GET
304 Not ModifiedКэшированный ответ актуален; тело не передаётся
305 Use ProxyДоступ к ресурсу возможен только через прокси (устарел)
306 Switch ProxyРанее означал переключение на прокси; больше не используется
307 Temporary RedirectПовторите запрос по другому URL, сохранив метод
308 Permanent RedirectРесурс окончательно доступен по другому URL, метод сохраняется

Клиентские ошибки

КодОписание
400 Bad RequestСервер не может обработать запрос из-за неверного синтаксиса
401 UnauthorizedТребуется аутентификация — она не предоставлена или не пройдена
402 Payment RequiredЗарезервировано на будущее; иногда используется для платного доступа
403 ForbiddenУ клиента нет прав на доступ к содержимому
404 Not FoundСоответствующий ресурс на сервере не найден
405 Method Not AllowedМетод запроса не поддерживается для данного ресурса
406 Not AcceptableОтвет не соответствует критериям заголовка Accept клиента
407 Proxy Authentication RequiredТребуется аутентификация на прокси-сервере
408 Request TimeoutСервер превысил время ожидания запроса
409 ConflictЗапрос конфликтует с текущим состоянием сервера
410 GoneРесурс удалён и больше не будет доступен
411 Length RequiredВ запросе должен быть указан Content-Length
412 Precondition FailedОдно из условий-предпосылок в заголовках ложно
413 Payload Too LargeТело запроса превышает допустимый размер
414 URI Too LongURI запроса длиннее, чем сервер может обработать
415 Unsupported Media TypeТип данных запроса не поддерживается
416 Range Not SatisfiableЗапрошенный диапазон байтов не может быть предоставлен
417 Expectation FailedЗаголовок Expect не может быть выполнен
418 I'm a teapotСервер отказывается варить кофе, так как это чайник (шуточный RFC)
421 Misdirected RequestЗапрос направлен серверу, который не может дать ответ
422 Unprocessable EntityЗапрос корректен по форме, но семантически ошибочен (WebDAV)
423 LockedДоступ к ресурсу заблокирован (WebDAV)
424 Failed DependencyЗапрос не выполнен из-за сбоя предыдущей зависимости (WebDAV)
426 Upgrade RequiredКлиент должен переключиться на другой протокол
428 Precondition RequiredСервер требует, чтобы запрос был условным
429 Too Many RequestsКлиент отправил слишком много запросов за период
431 Request Header Fields Too LargeПоля заголовка запроса слишком велики
451 Unavailable For Legal ReasonsРесурс недоступен по юридическим причинам

Серверные ошибки

КодОписание
500 Internal Server ErrorНа сервере произошла непредвиденная ошибка
501 Not ImplementedСервер не поддерживает используемый метод запроса
502 Bad GatewayШлюз получил некорректный ответ от вышестоящего сервера
503 Service UnavailableСервер временно не может обработать запрос
504 Gateway TimeoutВышестоящий сервер не ответил вовремя
505 HTTP Version Not SupportedИспользуемая версия HTTP не поддерживается
506 Variant Also NegotiatesОшибка прозрачного согласования содержимого
507 Insufficient StorageСерверу не хватает места для сохранения представления (WebDAV)
508 Loop DetectedСервер обнаружил бесконечный цикл при обработке запроса (WebDAV)
510 Not ExtendedТребуются дополнительные расширения протокола
511 Network Authentication RequiredДля доступа требуется сетевая аутентификация

Выпущено под лицензией MIT.