Към основното съдържание
LibraTool logoLibraTool

Справочник на HTTP статус кодове — безплатно

Търсим справочник за всички HTTP статус кодове — какво означава всеки, кога се използва и общи причини. От 100 до 511.

Работи офлайн след зареждане

61 статус кода

100

Продължи

Сървърът е получил заглавията на исканието и клиентът трябва да продължи с тялото.

Използва се за искания с Expect: 100-continue. Сървърът признава, че е готов да прими тялото, преди клиентът да го изпрати. Рядко се вижда в съвременни уеб приложения.

RFC 9110 ↗
101

Преминаване на протоколи

Сървърът преминава към протоколи, както е поискано от клиента.

Най-често се използва за надстройка на WebSocket — клиентът запрашва Upgrade: websocket и сървърът отговаря с 101 за преминаване.

RFC 9110 ↗
102

Обработка

Сървърът е получил исканието и го обработва, но все още няма достъпен отговор.

Временен отговор на WebDAV, изпращан, за да се предотврати времево превишение на клиента при дълги операции. Остарял — съвременните сървъри не трябва да го изпращат.

RFC 2518 ↗
103

Ранни съвети

Предварителни заглавия, изпращени преди окончателния отговор.

Позволява на сървърите да изпращат заглавия Link (preload/preconnect), докато окончателния отговор все още се подготвя, така че браузърите да могат да започнат да зареждат критични ресурси по-скоро.

RFC 8297 ↗
200

Добре

Исканието е успешно.

Стандартния отговор за успех. Значението зависи от HTTP метода: GET → ресурс е върнат, POST/PUT → действието е завършено.

RFC 9110 ↗
201

Създадено

Нов ресурс е успешно създаден.

Обичайно след POST. Отговорът трябва да включи заглавие Location, насочващо към URL на новия ресурс.

RFC 9110 ↗
202

Приемано

Исканието е приемано за обработка, но обработката все още не е завършена.

За асинхронни операции — сървърът поставя работата в опашка. Клиентът трябва да попита крайна точка на статуса или да провери по-късно.

RFC 9110 ↗
203

Неавторитетна информация

Отговорът е променен от трансформиращ прокси.

Исканието е успешно, но средник (като кеширащ или трансформиращ прокси) е променил полезния товар от оригиналния сървър — например, преком­преси­ране на изображения. Редко в практиката.

RFC 9110 ↗
204

Без съдържание

Исканието е успешно, но няма тяло на отговора.

Често се използва за операции DELETE или PUT обновления, които не трябва да вращат тяло. Клиентът не трябва да се отдалечава от текущата страница.

RFC 9110 ↗
205

Нулиране на съдържание

Исканието е успешно; клиентът трябва да нулира представлението на документа.

Като 204, не се вращ тяло — но клиентът е допълнително казан да нулира формуляра или представлението, което е произвело исканието (напр. изчисти полетата на формуляра за следващия запис).

RFC 9110 ↗
206

Частично съдържание

Сървърът доставил само част от ресурса.

Отговор на исканието Range. Използва се от видео плейъри и мениджъри на изтегляния, за да се възобнови прекъснато изтегляне или да се потокови големи файлове.

RFC 9110 ↗
207

Много статуса

Тялото на отговора съдържа множество статус кодове за множество операции.

WebDAV: XML тяло докладва резултата на няколко подоперации независимо — напр. групово преместване, където някои елементи успяха, а други не.

RFC 4918 ↗
208

Вече докладвано

Членовете на колекцията бяха вече посочени по-рано в отговора.

WebDAV: използва се вътре в отговорите 207 Multi-Status, за да се избегне повторното посочване на членове на същата колекция, когато привързанията създават цикли.

RFC 5842 ↗
226

IM използвано

Отговорът е резултат от манипулации на екземпляра, приложени към ресурса.

Кодиране на разликите: сървърът вращ разлика спрямо предходна версия вместо пълния ресурс, спестявайки честотната лента. Много редко реализирано.

RFC 3229 ↗
300

Множество избора

Множество представяния на ресурса са налични.

Сървърът предлага множество опции (напр. различни формати или езици) и клиентът трябва да избере една. Редко се използва, защото автоматичното договаряне на съдържание обикновено справя това.

RFC 9110 ↗
301

Постоянно преместено

Ресурсът е постоянно преместен на нов URL.

Използвайте за постоянни промени на URL — търсещите машини ще обновят индекса си. Авторитетът на SEO се прехвърля към новия URL.

RFC 9110 ↗
302

Намерено (временно пренасочване)

Ресурсът е временно на различен URL.

Показва, че пренасочването не е постоянно. Кеширането е по-малко агресивно, отколкото 301. Използвайте за неща, като 'се изисква вход, пренасочване към /login'.

RFC 9110 ↗
303

Вижте други

Пренасочване към различен URL с помощта на GET.

Използва се след POST подаване — отговорът казва 'вашия POST работи, вижте този GET URL за резултата'. Браузърите винаги ще GET новия URL.

RFC 9110 ↗
304

Не е променено

Кешираната версия все още е валидна; използвайте я.

Отговор на условно исканието (с заглавия If-None-Match или If-Modified-Since). Спестява честотната лента — не е върнато тяло.

RFC 9110 ↗
307

Временно пренасочване

Като 302, но сохранява оригиналния HTTP метод.

Ако оригиналното беше POST, пренасочването също използва POST. Съвременна алтернатива на 302, когато сохранението на метода е важно.

RFC 9110 ↗
308

Постоянно пренасочване

Като 301, но сохранява оригиналния HTTP метод.

Съвременна замяна на 301, когато искате POST исканията да останат POST след пренасочването.

RFC 9110 ↗
400

Лошо исканието

Сървърът не можа да разбере исканието поради неправилен синтаксис.

Обичайни причини: неправилен JSON в тяло, невалидни параметри на заявка или липсващи необходими полета. Проверете тялото и заглавията на исканието.

RFC 9110 ↗
401

Неавторизирано

Необходимо е оверификуване и то не е предоставлено.

Клиентът трябва да включи идентификационни данни (заглавие Authorization, бисквитка, токен). 'Неавторизирано' е неправилен термин — всъщност означава 'неавтентифицирано'.

RFC 9110 ↗
402

Плащането е необходимо

Запазено за бъдеща употреба — понякога се използва за платени нива на API.

Първоначално предназначено за цифрови плащания. Съвременна употреба: API понякога връщат 402, когато потребител е надвишил квотата си.

RFC 9110 ↗
403

Забранено

Клиентът е оверификуван, но няма разрешение.

Различно от 401 — потребителят Е влязъл, но акаунтът му няма разрешение за този ресурс. Проверете логиката на ролите/разрешенията.

RFC 9110 ↗
404

Не е намерено

Поисканият ресурс не съществува.

URL е неправилен, ресурсът е изтрит или никога не е съществувал. Сървърите понякога връщат 404, за да скрият, че 403 би било по-точно.

RFC 9110 ↗
405

Методът не е разрешен

HTTP методът, използван, не е разрешен за този ресурс.

Например, GET исканието към крайна точка, която приема само POST. Отговорът трябва да включи заглавие Allow, посочващо валидни методи.

RFC 9110 ↗
406

Неприемливо

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

Клиентът поискал тип съдържание, език или кодиране (чрез Accept, Accept-Language, Accept-Encoding), които сървърът не може да удовлетвори. Много сървъри пропускат строгото договаряне и вращат подразбирана вместо това.

RFC 9110 ↗
407

Оверификуване на прокси е необходимо

Клиентът трябва да се удостовери с прокси първо.

Като 401, но издадено от прокси: клиентът трябва да изпрати идентификационни данни на Proxy-Authorization. Виждано на корпоративни мрежи с оверификиращи прокси.

RFC 9110 ↗
408

Времето на заявката изтече

Сървърът отложи времето си чакайки заявката.

Клиентът отнема твърде много време да изпрати тялото на заявката или запазва връзката неактивна. Опитайте заявката отново.

RFC 9110 ↗
409

Конфликт

Заявката противоречи на текущото състояние на ресурса.

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

RFC 9110 ↗
410

Изтрито

Ресурсът е изтрит и няма да се върне.

По-силна от 404 — сървърът явно знае, че ресурсът Е СЪЩЕСТВУВАЛ преди, но е бил постоянно премахнат. Търсачките ще го премахнат от индекс.

RFC 9110 ↗
411

Необходима е дължина

Сървърът изисква заглавие Content-Length.

Заявката е отхвърлена, защото липсва заглавие Content-Length и сървърът отказва телата с неизвестен размер. Добавете заглавието и опитайте отново.

RFC 9110 ↗
412

Предусловието не беше изпълнено

Условие в заглавията на заявката не беше изпълнено.

Връща се, когато условни заглавия като If-Match или If-Unmodified-Since не успеят — обикновено оптимистична блокировка: някой друг е променил ресурса от вашата версия. Изтеглете отново и опитайте.

RFC 9110 ↗
413

Товарът е твърде голям

Тялото на заявката превишава лимита на размера на сървъра.

Честа при качване на големи файлове. Конфигурацията на сървъра (nginx, apache) задава максимален размер на тялото. Проверете конфигурацията на сървъра.

RFC 9110 ↗
414

URI е твърде дълъг

URL адресът на заявката превишава лимита на дължина на сървъра.

Обикновено причинено от много дълги низове от запитване (напр. кодиране на данни в GET). Преминете към POST тяло или повишете лимита на сървъра, ако го контролирате.

RFC 9110 ↗
415

Неподдържан тип носител

Сървърът не може да обработи изпратения Content-Type.

Например, изпращане на application/xml към сървър, който приема само application/json. Задайте правилно заглавието Content-Type.

RFC 9110 ↗
416

Диапазонът не е задоволим

Поисканият байтов диапазон е извън размера на ресурса.

Заглавието Range поиска част, която файлът няма — напр. продължаване на изтегляне след края на файла. Отговорът трябва да включва Content-Range с действителния размер.

RFC 9110 ↗
417

Очакването не беше изпълнено

Сървърът не може да отговори на изискванията на заглавието Expect.

Изпратено, когато сървърът не поддържа Expect: 100-continue. Някои клиенти изпращат това заглавие по подразбиране при големи POST заявки; отключването обикновено решава проблема.

RFC 9110 ↗
418

Аз съм чайник

Сървърът отказва да вари кафе, защото е чайник.

Априлска шега от 1998 г. (RFC 2324). Някои истински API използват го за шеги или да отбележат остарели крайни точки. Не за производство.

RFC 2324 ↗
421

Неправилно насочена заявка

Заявката е изпратена на сървър, който не може да произведе отговор за нея.

Честа при HTTP/2 повторно използване на връзка: заявката достигна сървър, който не е конфигуриран за целевия хост. Клиентът трябва да опита отново на нова връзка.

RFC 9110 ↗
422

Необработимо съдържание

Заявката е синтактично валидна, но семантично неправилна.

Например JSON е разпознат правилно, но липсва задължително поле или стойност на поле е извън диапазон. Честа при отговори на валидиране на REST API.

RFC 9110 ↗
423

Заключено

Ресурсът е заключен.

WebDAV: ресурсът на източника или дестинацията е заключен от друг клиент, така че операцията не може да продължи. Очаквайте блокировката да бъде освободена или я разбийте с подходящия токен.

RFC 4918 ↗
424

Неуспешна зависимост

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

WebDAV: в верига от зависими операции, по-рано действие е неуспешно, така че това не е извършено. Потърсете по-ранния отказ за основната причина.

RFC 4918 ↗
425

Твърде рано

Сървърът отказва да обработи заявка, която може да бъде повторена.

Свързано с TLS 1.3 0-RTT (ранни данни): сървърът няма да рискува обработка на възможно повторена заявка. Клиентът трябва да опита отново след като завърши ръкостискането.

RFC 8470 ↗
426

Необходима е надстройка

Клиентът трябва да преминат на различен протокол.

Сървърът отказва да служи заявката над текущия протокол, но ще го направи след надстройка — отговорът включва Upgrade заглавие, назовава необходимия протокол.

RFC 9110 ↗
428

Предусловието е необходимо

Сървърът изисква заявката да бъде условна.

Сървърът изисква условни заглавия (като If-Match) за предотвратяване на конфликти при загубени актуализации. Изтеглете ресурса, улучете неговия ETag и изпратете отново с If-Match.

RFC 6585 ↗
429

Твърде много заявки

Клиентът е ограничен по брой.

Намалете темпото. Отговорът трябва да включва Retry-After заглавие, указващо кога да опитате отново. Честа при API с квоти на заявки.

RFC 6585 ↗
431

Полета на заглавието на заявката са твърде голяма

Заглавията са твърде голяма за сървъра да обработи.

Или едно заглавие, или общият размер на заглавието превишава лимита — най-често причинено от преразмерени бисквитки. Изчистете бисквитки или намалете какво съхранява приложението в тях.

RFC 6585 ↗
451

Недостъпно по правни причини

Достъпът е отказан поради правни искания.

Ресурсът е блокиран по правни причини — цензура, съдебни заповеди или регионални нормативни актове. Номерът е намек към романа Fahrenheit 451.

RFC 7725 ↗
500

Вътрешна грешка на сървъра

Сървърът срещна неочакувано състояние.

Родов catch-all за грешки на страната на сървъра. Проверете дневниците на сървъра за действителната причина: необработено изключение, грешка на базата данни и т.н.

RFC 9110 ↗
501

Не е внедрено

Сървърът не поддържа поисканата функционалност.

Например сървърът не разпознава HTTP метода. Рядко на практика — по-често ще видите 405.

RFC 9110 ↗
502

Лош шлюз

Сървърът, действайки като шлюз, получи лош отговор от горен поток сървър.

Честа в архитектури на микросервиси. Вашата балансирка на натоварване или обратен прокси получи неправилен отговор от услугата на заден план.

RFC 9110 ↗
503

Услугата е временно недостъпна

Сървърът е временно неспособен да обработи заявката.

Или е спрян за поддръжка, или е претоварен. Отговорът трябва да включва Retry-After заглавие. Често се връща при развръщане.

RFC 9110 ↗
504

Времевия лимит на шлюза

Сървърът на шлюза отложи времето си чакайки отговор от горен поток.

Услугата на заден план не отговори достатъчно бързо. Проверете здравето на услугата на горен поток и конфигурациите на времевите лимити.

RFC 9110 ↗
505

HTTP версия не е поддържана

Сървърът не поддържа версията HTTP, използвана в заявката.

Основната версия на HTTP на заявката не е поддържана от сървъра. Почти никога не се вижда със съвременни клиенти.

RFC 9110 ↗
506

Вариантът също преговаря

Сървърът има неправилна конфигурация на преговорите по съдържание.

Преговорите по прозрачното съдържание завършиха в цикъл: избраният вариант е сам конфигуриран за преговори. Показва грешка в конфигурацията на сървъра.

RFC 2295 ↗
507

Недостатъчно съхранение

Сървърът е останал без място на диска.

WebDAV специфична по произход, но понякога използвана от общи сървъри. Означава, че сървърът не може да запази заявката поради ограничения на съхранението.

RFC 4918 ↗
508

Цикълът е открит

Сървърът е открил безкраен цикъл при обработка на заявката.

WebDAV: обработка на Depth: infinity заявка влиза в цикъл (напр. кръгови свързвания). Операцията беше прекратена.

RFC 5842 ↗
510

Не е разширено

Необходими са допълнителни разширения на заявката.

От застарелия HTTP Extension Framework: сървърът се нуждае от повече информация, преди да може да изпълни заявката. Ефективно неупотребяван в съвременния интернет.

RFC 2774 ↗
511

Необходима е удостоверяване на мрежата

Клиентът трябва да се удостовери, за да получи достъп до мрежата.

Използвано от пленителни портали (хотел/летищни WiFi), за да покажат, че потребителят трябва да се влезе в мрежата, преди да получи достъп до външни сайтове.

RFC 6585 ↗

Често срещани употреби

  • Справка за дизайн APIПри проектиране на REST API изберете правилния статус код за всеки отговор.
  • Бързо потърсете кодове за грешкиКогато приложението връща объркваща HTTP грешка, потърсете какво наистина означава.
  • Научете HTTP статус кодовеВсеобхватна справка за студенти и разработчици, които учат HTTP и REST.
  • Бърза справка при инцидентиПрез производствени инциденти бързо потърсете какво означава всеки статус код.
  • Справка за API документацияПри писане на API документация, свържете се с авторитетни описания на кодовете на статуса, които връщате.

Как работи

Този инструмент е клиентска справка, изградена около твърдо кодирана справочна таблица от 63 HTTP статус кода, обхващащи и петте класа (1xx–5xx), всеки анотиран с определящия го номер на RFC. Няма обръщение към сървър, няма външен API и няма мрежова заявка — цялото филтриране и показване се извършва в браузъра чрез вградените методи на JavaScript за масиви и низове.

  1. 1
    Справочната таблица се зарежда
    Пълният набор от 63 статус кода, регистрирани от IANA, е вграден директно в този инструмент като масив на JavaScript, като всеки запис носи числовия код, каноничното английско име, категориен клас и конкретния RFC, който го дефинира (напр. RFC 9110 за повечето кодове на HTTP/1.1, RFC 6585 за 429 Too Many Requests, RFC 2324 за 418 I'm a Teapot).
  2. 2
    Филтърът работи в паметта
    Докато пишете или изберете филтър по категория, Array.filter на JavaScript се изпълнява върху списъка в паметта, съпоставяйки заявката ви с номера на статус кода, каноничното име и както краткия, така и дългия низ с описание чрез String.includes — без забавяне, без обръщение към сървъра.
  3. 3
    Детайлите се разгъват с връзка към RFC
    Всеки резултат се рендерира като HTML елемент details/summary. Разгъването на запис разкрива обяснението в дълга форма и директна връзка към авторитетния RFC на rfc-editor.org, така че можете да прочетете точния текст на спецификацията за всеки код.
  4. 4
    Дълбоки връзки и копиране в клипборда
    Отварянето на запис обновява хеша на URL адреса до номера на кода (напр. #404), правейки страницата споделяема и удобна за отмятане. Бутонът за копиране записва каноничния низ (напр. '404 Not Found') в клипборда чрез navigator.clipboard API на браузъра.

Свързани инструменти

Често задавани въпроси