Акысыз 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

OK

Сурам ийгиликтүү аткарылды.

Стандарттуу ийгиликтүү жооп. Мааниси HTTP методуна жараша: GET → ресурс кайтарылат, POST/PUT → аракет аткарылды.

RFC 9110 ↗
201

Түзүлгөн

Жаңы ресурс ийгиликтүү түзүлдү.

Көбүнчө POST'тон кийин кездешет. Жооп жаңы ресурстун URL'ин көрсөткөн Location аталышын камтышы керек.

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

Башка жерди караңыз

GET методун колдонуп башка URL дарегине багыттоо.

POST жөнөтүлгөндөн кийин колдонулат — жооп "POST аткарылды, натыйжаны ушул GET URL дарегинен караңыз" дегенди билдирет. Браузерлер дайыма жаңы URL дарегин GET менен сурайт.

RFC 9110 ↗
304

Өзгөртүлгөн жок

Кэштелген версия дагы эле жарактуу; аны колдонуңуз.

Шарттуу сурамга жооп (If-None-Match же If-Modified-Since баш аттары менен). Трафикти үнөмдөйт — эч кандай мазмун кайтарылбайт.

RFC 9110 ↗
307

Убактылуу багыттоо

302гө окшош, бирок алгачкы HTTP методун сактап калат.

Эгер алгачкысы POST болсо, багыттоо да POST колдонот. Метод сакталышы маанилүү болгондо 302дин заманбап алмаштыргычы.

RFC 9110 ↗
308

Биротоло багыттоо

301ге окшош, бирок алгачкы HTTP методун сактап калат.

POST сурамдары багыттоодон кийин да POST бойдон калышын кааласаңыз, 301дин заманбап алмаштыргычы.

RFC 9110 ↗
400

Туура эмес сурам

Сервер туура эмес синтаксистин айынан сурамды түшүнө алган жок.

Кеңири таралган себептери: JSONдун туура эмес форматы, жараксыз сурам параметрлери же милдеттүү талаалардын жоктугу. Сурамдын мазмунун жана баш аттарын текшериңиз.

RFC 9110 ↗
401

Авторизациясыз

Аутентификация талап кылынат, бирок берилген жок.

Кардар аутентификация маалыматтарын (Authorization баш аты, cookie, токен) көрсөтүшү керек. "Unauthorized" — туура эмес аталыш, чынында "аутентификацияланган эмес" дегенди билдирет.

RFC 9110 ↗
402

Төлөм талап кылынат

Келечектеги колдонуу үчүн сакталган — кээде акы төлөнүүчү API деңгээлдери үчүн колдонулат.

Баштапкыда санарип төлөмдөр үчүн каралган. Заманбап колдонулушу: колдонуучунун акы төлөнүүчү квотасы бүткөндө API 402 кайтарышы мүмкүн.

RFC 9110 ↗
403

Тыюу салынган

Кардар аутентификацияланган, бирок уруксаты жок.

401ден айырмасы — колдонуучу тутумга кирген, бирок анын эсеби бул ресурс үчүн уруксатка ээ эмес. Ролдорду/уруксаттарды текшериңиз.

RFC 9110 ↗
404

Табылган жок

Суралган ресурс жок.

Же URL туура эмес, же ресурс жок кылынган, же такыр болгон эмес. Кээде серверлер 403 туура болгону менен, аны жашыруу үчүн 404 кайтарышат.

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-жылдагы 1-апрель тамашасы (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

Сурамдын баш ат талаалары өтө чоң

Баш аттар сервер иштете алгандан чоңураак.

Же бир баш ат, же баш аттардын жалпы өлчөмү чектен ашкан — көбүнчө өтө чоң cookieлерден улам болот. Cookieлерди тазалаңыз же колдонмоңуз аларда сактаган маалыматты азайтыңыз.

RFC 6585 ↗
451

Мыйзамдык себептерден жеткиликтүү эмес

Мыйзамдык талаптардын айынан жеткиликтүүлүк четке кагылды.

Ресурс мыйзамдык себептерден улам бөгөттөлгөн — цензура, сот чечимдери же аймактык эрежелер. Бул сан "Фаренгейт 451" романына ишарат.

RFC 7725 ↗
500

Ички сервер катасы

Сервер күтүлбөгөн жагдайга туш болду.

Сервер тараптагы каталар үчүн жалпы, аныкталбаган себеп. Чыныгы себебин билүү үчүн сервердин логдорун караңыз: иштетилбеген өзгөчө учур, маалымат базасынын катасы ж.б.

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

Тармактык аутентификация талап кылынат

Тармакка кирүү үчүн кардар аутентификациядан өтүшү керек.

Кол мейманканалардын/аэропорттордун Wi-Fi порталдарынан колдонулат — колдонуучу сырткы сайттарга кирүүдөн мурун тармакка кирүүсү керектигин билдирет.

RFC 6585 ↗

Бул кантип иштейт

Бул курал бардык беш класты (1xx–5xx) камтыган 63 HTTP статус коддорунун катуу коддолгон издөө таблицасынын айланасында курулган клиент-тараптык маалымдама, ар бир жазуу аны аныктаган RFC номери менен белгиленген. Эч кандай серверге чалуу, тышкы API же тармак сурамы жок — бардык чыпкалоо жана көрсөтүү JavaScript'тин курулма массив жана саб методдорун колдонуп браузерде болот.

  1. 1
    Издөө таблица жүктөлдү
    63 IANA-катталган статус кодунун толук топтому бул куралга JavaScript массиви катары түз топтоштурулган, ар бир жазуу сандык кодду, канондук англис атын, категория класын жана аны аныктаган белгилүү RFCти алып жүрөт (мис. көпчүлүк HTTP/1.1 коддору үчүн RFC 9110, 429 Too Many Requests үчүн RFC 6585, 418 I'm a Teapot үчүн RFC 2324).
  2. 2
    Чыпка эсте иштейт
    Терип же категория чыпкасын тандаганда, JavaScript'тин Array.filter эс-ичи тизмеде иштейт, сурооңузду статус код номерине, канондук атка жана кыска, узун сүрөттөмө саптарынын экөөнө тең String.includes колдонуп дал келтирет — кечиктирүү жок, серверге кайрылуу жок.
  3. 3
    Тайпалыктар RFC шилтемеси менен кеңейет
    Ар бир натыйжа HTML details/summary элементи катары тартылат. Жазууну кеңейтүү узун-форма түшүндүрмөнү жана rfc-editor.org'догу расмий RFCге түз шилтемени ачат, ошондуктан каалаган код үчүн так спецификация текстин окуй аласыз.
  4. 4
    Терең шилтемелер жана алмашуу буферине көчүрүү
    Жазууну ачуу URL хешин код номерине жаңылайт (мис. #404), баракты бөлүшүүгө жана кыстармага коюуга ыңгайлуу кылат. Көчүрүү баскычы канондук сабды (мис. '404 Not Found') браузердин navigator.clipboard API'си аркылуу алмашуу буферине жазат.

Байланыштуу куралдар

Көп берилүүчү суроолор