Вебди иштеп чыгуу дүйнөсүндө HTTP ката коддору колдонуучунун тажрыйбасына жана веб-сайттын репутациясына таасир этүүдө маанилүү роль ойнойт. Бул макалада биз сервердеги ката коддорунун толук тизмесин карап чыгабыз, алардын маанилерин талдап, көйгөйлөрдү чечүү жана веб-тиркемелердин иштешин оптималдаштыруу үчүн сервердин жооп коддорун кантип эффективдүү чечмелөө керектигин үйрөнөбүз.
HTTP жооп коду деген эмне
HTTP жооп коду – браузердин суроо-талаптарын түшүнүктүү нускамаларга которгон веб-серверлердин тили. Акындын виртуалдык суроолорго жооп берип, аларга маани берип, багыт берип жатканы сыяктуу. Жооп коддору дайыма HTTP ката коддору боло бербейт. Мисалы, "200 OK" баары жакшы дегенди билдирет, ал эми HTTP катасы "404 табылган жок" барак виртуалдык мейкиндикте жоголуп кеткенин билдирет. Ар бир код сервер абалынын уникалдуу туюнтмасы болуп саналат, анын декоддоосу бизге виртуалдык дүйнөнүн башка тарабында эмне болуп жатканын түшүнүүгө мүмкүндүк берет.
1xx коддору (Маалымат)
HTTP протоколундагы 1xx статус коддору сервер менен кардар ортосундагы диалогдогу биринчи шилтеменин бир түрү болуп саналат. Сурамга толук жооп берүүнүн ордуна, алар учурдагы абал тууралуу маалымат берип, маалымат алмашууну эффективдүү кылат. Келгиле, аларды кененирээк карап чыгалы:
100 Улантуу . Сервер колдонуучуга чоң суроо-талапты коопсуз жөнөтүүнү улантууга мүмкүндүк берген HTTP жооп коду.
101 Протоколдорду которуу . Сервер кардарга оюндун эрежелерин өзгөртүп жатканын, мисалы, HTTPден коопсузураак HTTPSке өтүп жатканын билдирет. Бул учурда, протоколду өзгөртүү үчүн "Жаңыртуу" аталышы колдонулат.
102 Иштетилип жатат . Бул код сервер сурамды кабыл алгандыгы, бирок дагы эле татаал операция менен алек экендиги тууралуу билдирүүгө окшош.
103 Алгачкы кеңештер . Бул жерде сервер негизги жооптон мурун кардарга бир нече индикативдик аталыштарды жөнөтөт, жакынкы келечекте актуалдуу болушу мүмкүн болгон нерсе жөнүндө эскертет.
2xx коду (Ийгиликтүү)
2xx тобундагы HTTP ката коддору серверден ийгиликтүү өтүнүчтү көрсөтүп турат. Алар веб-коммуникациялык чөйрөдө "жашыл жарыктын" ролун аткарып, баары план боюнча жүрүп жатканын жана ийгиликтүү аяктаганын тастыктайт.
200 OK . Бул статус сервер GET ыкмасы менен суроо-талапты көйгөйсүз иштетип, суралган маалыматтарды жооп катары кайтарганда колдонулат. "Content-Type" аталышы жооптогу мазмундун түрүн билдирет. Ал жөн гана кардарга суроо-талаптын ийгиликтүү болгонун билдирет.
201 Түзүлдү . Бул жерде сервер жаңы ресурстун түзүлгөнүн жарыялайт.
202 Кабыл алынды . Сервер колдонуучуга суроо-талап кабыл алынганын билдирет, бирок жооп берүү үчүн убакыт талап кылынат.
203 Расмий эмес маалымат . Бул код кардарга расмий эмес болушу мүмкүн болгон, бирок салыштыруу үчүн колдонулушу мүмкүн болгон маалыматтарды берет.
204 Мазмун жок . Сервер сурамды иштеп чыкты, бирок кошумча мазмунду кайтарып берген жок.
205 Мазмунду баштапкы абалга келтирүү . Бул жерде кардарга жөнөтүлгөндөн кийин учурдагы көрүнүштү же маалыматтарды баштапкы абалга келтирүү тапшырылат.
206 Жарым-жартылай мазмун . Бул учур жоопто суралган мазмундун бир бөлүгү гана камтылганын көрсөтүп турат. "Мазмун диапазону" аталышы жарым-жартылай мазмун диапазонун көрсөтөт.
207 Көп Статус. Сервер кардардан келген көп операциялык суроо-талапты ийгиликтүү аткарды жана жоопто ар бир операциянын абалы жөнүндө маалымат камтылган.
226 IM колдонулду . Бул код сервердин кошумча метадайындар (IM) ыкмасын колдонгонун жана кардарга өзгөртүлгөн ресурс бөлүктөрүн гана өткөрүп берүү менен жооп бергенин көрсөтүп турат.
3xx коддору (Багыттоо)
HTTP протоколундагы 3xx коддору колдонуучуну жаңы ресурс жайгашкан жерге багыттоочу көрсөткүчтөр сыяктуу. Алар кардарга суралган мазмунду алуу же башка ресурска багыттоо үчүн кийинки кадамдар жасалышы керек экенин маалымдайт. Келгиле, алардын ар биринин майда-чүйдөсүнө чейин кирип көрөлү:
300 Бир нече тандоо . Кардар ресурс үчүн бир нече мүмкүн болгон жерлер бар экендиги жөнүндө сигнал алат жана ага жооп катары тандоо берилет. Учурдагы шарттарда, "Жайгашкан жер" аталышы ресурс үчүн альтернативдүү варианттарды көрсөтүшү мүмкүн.
301 Биротоло жылдырылды. Сервер колдонуучуга ресурс башка жерге биротоло жылдырылганын билдирет.
302 табылды . Бул HTTP коду убактылуу багыттоого окшош. Сервер керектөөчүгө ресурс башка URL дарегинде убактылуу жеткиликтүү экенин билдирет. "Жайгашкан жер" аталышы убактылуу багыттоо үчүн жаңы URL дарегине багыттайт.
303 Башкасын караңыз . Кардарга ресурс башка URL дарегинде жеткиликтүү экени жана бул жаңы дарекке GET сурамын жөнөтүшү керектиги айтылат.
304 Өзгөртүлгөн эмес . Бул статус кардарга ресурс акыркы сурамдан бери өзгөрүүсүз калганын жана аны кайра жүктөп алуунун кажети жок экенин билдирет. Сурам жасоодо, ресурс өзгөртүлгөнүн текшерүү үчүн "If-Modified-Since" аталышы колдонулат.
305 Проксиди колдонуңуз. Жооп катары сервер суралган ресурска кирүү үчүн көрсөтүлгөн проксиди колдонушу керектигин билдирет.
306 (резервделген) — Код резервделген, бирок чындыгында ал колдонулган эмес.
307 Убактылуу багыттоо . Бул код 302 Found кодуна окшош, бирок кардардан баштапкы суроо-талапта колдонулган суроо-талап ыкмасында калууну талап кылат.
308 Туруктуу багыттоо . Ресурс жаңы URIге туруктуу өткөнүн жана кардар келечектеги бардык суроо-талаптар үчүн жаңы URI колдонушу керектигин көрсөтөт.
4xx HTTP катасы (Кардар каталары)
HTTP 4xx ката коддору кардар каталарын көрсөтөт. Бул көйгөй веб-браузер же колдонмо сыяктуу колдонуучу тарапта экенин билдирет.
400 Туура эмес суроо-талап . Сервер синтаксис каталарынан, жараксыз маалыматтардан же кардар тарабындагы башка каталардан улам суроо-талапты иштете албайт.
401 Уруксат берилбеген. Сервер синтаксис каталарынан, жараксыз маалыматтардан же кардар тарабындагы башка каталардан улам суроо-талапты иштете албайт.
402 Төлөм талап кылынат . Код учурда активдүү эмес жана келечекте колдонуу үчүн сакталган. Бул келечекте ресурска кирүүдөн мурун төлөө зарылдыгын көрсөтүшү мүмкүн.
HTTP катасы 403 Тыюу салынган. Кардардын суралган ресурска кирүү үчүн жетиштүү укуктары жок.
404 табылган жок. Суралган ресурс серверде жок. Бул колдонуучунун эң көп кездешкен каталарынын бири.
405 Методго уруксат берилген эмес . Сервер бул ресурста көрсөтүлгөн суроо-талап ыкмасын колдобойт. "Уруксат берүү" аталышы ресурс үчүн уруксат берилген ыкмаларды көрсөтөт. Бул код менен,
406 Кабыл алынбайт. Сервер кардар кабыл ала турган форматта маалыматтарды бере албайт.
407 Прокси аутентификациясы талап кылынат . Суралган ресурска кирүү үчүн прокси-серверде аутентификация талап кылынат.
408 Сурамдын күтүү убактысы . Сервер кардардан сурам алууну күтүп жаткан, бирок күтүү убактысы бүтүп калган. "Кайра аракет кылуудан кийин" аталышы сурамды канча убакыттан кийин кайталап көрүүгө болорун көрсөтүшү мүмкүн.
409 Чыр-чатак. Учурдагы ресурстун абалы менен карама-каршылыктан улам суроо-талап аткарылбай жатат.
410 Жок болду . Суралган ресурс мурда бар болчу, бирок азыр жок кылынды жана аны калыбына келтирүү күтүлбөйт.
411 Узундук талап кылынат . Сервер сурамда мазмундун узундугун көрсөтүүнү талап кылат; бул маалыматтын жоктугу ката деп эсептелет.
412 Алдын ала шарт аткарылган жок . Сурамдагы алдын ала шарт аткарылган жок, бул анын аткарылышына тоскоол болот.
413 Пайдалуу жүктөм өтө чоң . Сурам маалыматтарынын өлчөмү сервердин чегинен ашып кетти.
414 URI өтө узун . Сурамдагы URI узундугу кабыл алынган чектен ашып кетти.
415 Колдоого алынбаган медиа түрү . Сервер сурамда берилген маалымат түрүн иштете албайт.
416 Диапазон канааттандырарлык эмес . Суралган диапазон учурдагы сервер маалыматтарына дал келбеген HTTP катасы.
417 Күтүү ишке ашкан жок . "Күтүү" аталышындагы күтүлгөн шарт аткарылган жок.
418 Мен чайнекмин . Бул код тамаша катары киргизилген жана колдонуучу же сервер үчүн эч кандай реалдуу аракетти билдирбейт жана толук кандуу ката эмес. Бул сервер чайнек экенин жана кофе кайната албастыгын көрсөтүп турат.
421 Туура эмес багытталган суроо-талап . Сервер суроо-талаптагы же сервердин конфигурациясындагы катадан улам суроо-талапты иштетпейт.
422 Иштетилбей турган объект . Сервер сурамды түшүнөт, бирок маалыматтардын каталарынан улам аны иштетпейт.
423 Кулпуланган. Ресурс бөгөттөлгөн жана аны иштетүү мүмкүн эмес.
424 Ишке ашпай калган көз карандылык . Сурам аткарылбаган башка сурамга көз каранды.
425 Өтө эрте. Сервер суроо-талап эрте келгендиктен, аны иштетүүгө даяр эмес.
426 Жаңыртуу талап кылынат . Сервер суроо-талапты иштетүү үчүн өркүндөтүлгөн протоколду колдонууну талап кылат.
428 Алдын ала шарт талап кылынат . Сервер сурамда белгилүү бир алдын ала шарттардын көрсөтүлүшүн талап кылат.
429 Өтө көп суроо-талаптар . Кардар кыска убакыттын ичинде өтө көп суроо-талаптарды жөнөтүп, сервердин чегинен ашып кетти.
431 Суроо-талаптын аталышынын талаалары өтө чоң . Суроо-талаптын аталышы уруксат берилген максималдуу өлчөмдөн ашып кетти.
449 Кайра аракет кылуу. Сурам учурдагы сервер тарабынан аткарылбай турганын, бирок башка сервер тарабынан ийгиликтүү иштетиле аларын жана кардар сурамды жаңы URI менен кайра аракет кылышы керектигин көрсөтөт.
451 Юридикалык себептерден улам жеткиликтүү эмес . Ресурс юридикалык себептерден улам жеткиликтүү эмес.
499 Кардардын суроо-талабы жабылды . Сервер суроо-талапты алды, бирок байланыш кардар тарабынан иштетүү аяктаганга чейин үзүлдү.
HTTP 5xx катасы (Сервер каталары)
HTTP 5xx ката коддору сервер көйгөйлөрүн көрсөтүп турат. Бул коддор сервер тарабында пайда болгон көйгөйлөрдү көрсөтүп, сервер колдонуучунун өтүнүчүн туура жол менен иштете албайт. Келгиле, аларды кененирээк карап чыгалы:
HTTP катасы 500 Ички сервер катасы . Сервер күтүлбөгөн жагдайларга туш болуп, суроо-талаптын аткарылышына тоскоол болот. "Сервер" аталышы ката кеткен серверди көрсөтүшү мүмкүн.
501 Аткарылган жок . Сервер кардардын суроо-талабын иштетүү үчүн талап кылынган функцияны колдобойт. "Аркылуу" аталышы ката кеткен прокси-серверди көрсөтүшү мүмкүн.
502 Bad Gateway . Бул код прокси катары иштеген сервер башка серверден туура эмес жооп алганын билдирет.
HTTP катасы 503 кызматы жеткиликтүү эмес . Сервер убактылуу суроо-талаптарды иштете албайт.
504 Gateway Timeout . Прокси катары иштеген сервер башка серверден өз убагында жооп алган жок.
505 HTTP версиясы колдоого алынбайт . Сервер сурамда көрсөтүлгөн HTTP протоколунун версиясын колдобойт. Камдык көчүрмө опциясы катары, "Жаңыртуу" аталышы колдоого алынган протоколдорду көрсөтүшү мүмкүн.
506-вариант Ошондой эле сүйлөшүүлөрдү жүргүзөт . Бул статус HTTP/1.1де колдонулбайт; бирок, эгерде сервер мазмунду сүйлөшүүнүн түшүнүксүздүгүнө алып келген ички конфигурацияны аныктаса, ал бул жоопту колдонушу мүмкүн.
507 Сактоо орду жетишсиз . Серверде сактоочу жай жетишсиз болгондуктан, сервер суроо-талапты аткара албайт.
508 Цикл аныкталды . Сервер суроо-талапты иштеп чыгуу учурунда циклди аныктап, чексиз циклден качуу үчүн суроо-талапты аткаруудан баш тартты.
509 Өткөрүү жөндөмдүүлүгүнүн чеги ашып кетти . Ката сервердин өткөрүү жөндөмдүүлүгү суроо-талаптардын же трафиктин көп көлөмүнөн улам ашып кеткенде пайда болот.
510 Узартылган эмес . Кардар суроо-талапты улантуу үчүн кошумча узартууларды өткөрүп бериши керек.
511 Тармакты аутентификациялоо талап кылынат . Кардар тармакка кирүү үчүн өзүн аутентификациялашы керек.
Барактын статусунун кодун кантип текшерсе болот
Бул бөлүмдө биз баракчанын статусунун кодун текшерүүнүн үч негизги жолун карап чыгабыз: буйрук сабы аркылуу, веб-браузерди колдонуу жана көз карандысыз онлайн кызматтарды колдонуу. Бул ыкмалардын ар бири өзүнүн артыкчылыктарына ээ жана ар кандай кырдаалдарда пайдалуу болушу мүмкүн.
буйрук сабы аркылуу сервер жооп текшерүү
Буйрук сабы веб-браузерди колдонбостон, баракчанын статусунун кодун текшерүүнүн ыңгайлуу жолун камсыз кылат. Бул ыкма үчүн, сиз буйрук сабын ачып, буйрукту колдонушуңуз керек:
curl -I http://page-address
Бул буйрук көрсөтүлгөн URL дарегине HEAD сурамын жөнөтөт (тек баш аттарды сурам) жана HTTP статус кодун камтыган маалыматты көрсөтөт:
Жогорудагы мисал ийгиликтүү жооп кодун көрсөтөт. Ката кодун камтыган жооп болгон учурда, мисалы, 404 Табылган жок HTTP катасы, натыйжа окшош болот:
Браузердин консолу аркылуу сервердин жообун текшерүү
Веб-браузердин иштеп чыгуучу консолу ар кандай операцияларды жүргүзүү үчүн куралдарды, анын ичинде баракчанын статусунун кодун текшерүүнү камсыз кылат. Сервердин жообунан HTTP кодун көрүү үчүн, колдонулган браузерге жараша иштеп чыгуучунун консолун (Ctrl+Shift+K) же (Ctrl+shift+J) ачышыңыз керек. Андан кийин, "тармак" бөлүмүн тандап, керектүү баракты жүктөңүз:
Көз карандысыз куралдарды колдонуу менен сервердин жообун текшерүү
Вебсайттын баракчасынын абалын текшерүү үчүн куралдарды сунуштаган көптөгөн көз карандысыз онлайн кызматтар бар. Бул кызматтар, адатта, сизге ресурсуңуздун жеткиликтүүлүгү жана иштеши жөнүндө тез маалымат алууга мүмкүндүк берет. Алардын баары бир эле принцип боюнча иштейт. Мисал катары, биз эң популярдуу ресурсту - https://status.io карап чыгабыз.
Биринчиден, сиз кызматтын өзүн ачышыңыз керек, андан кийин сиз жооп беришиңиз керек болгон баракчанын дарегин киргизип, текшерүүнү талап кылышыңыз керек:
Натыйжа беттин ылдый жагында көрсөтүлөт:
жыйынтыктоо
Жыйынтыктап айтканда, HTTP ката коддорун түшүнүү жана окуй билүү веб-иштеп чыгуу жана серверди тейлөө менен алектенген ар бир адам үчүн негизги шык экенин баса белгилей кетүү керек. Ар бир катаны аныктап, аларды аныктоо үчүн куралдарды изилдеп жатканыбызда, бул веб-кызмат аспектилерин натыйжалуу башкаруу эмне үчүн абдан маанилүү экендигинин себептерин көрөбүз.