Katika ulimwengu wa ukuzaji wa wavuti, misimbo ya hitilafu ya HTTP ina jukumu muhimu katika kuathiri hali ya mtumiaji na sifa ya tovuti. Katika makala haya, tutazingatia orodha kamili ya misimbo ya hitilafu ya seva, kuchanganua maana zake, na kujifunza jinsi ya kutafsiri vyema misimbo ya majibu ya seva ili kutatua matatizo na kuboresha utendaji wa programu za wavuti.
Msimbo wa majibu wa HTTP ni nini
Msimbo wa majibu wa HTTP ni lugha ya seva za wavuti ambayo hutafsiri maombi ya kivinjari katika maagizo yanayoeleweka. Ni kama mshairi anayejibu maswali ya kawaida, kuyapa maana na mwelekeo. Misimbo ya majibu sio misimbo ya hitilafu ya HTTP kila wakati. Kwa mfano, "Sawa 200" inamaanisha kila kitu kiko sawa, lakini Hitilafu ya HTTP "404 Haijapatikana" inamaanisha wakati ukurasa unapotea kwenye nafasi ya mtandaoni. Kila msimbo ni usemi wa kipekee wa hali ya seva, uainishaji ambao huturuhusu kuelewa kinachotokea kwa upande mwingine wa ulimwengu wa kawaida.
misimbo 1xx (Maelezo)
Misimbo ya hali ya 1xx katika itifaki ya HTTP ni aina ya kiungo cha kwanza kwenye mazungumzo kati ya seva na mteja. Badala ya kutoa jibu kamili kwa ombi, hutoa habari kuhusu hali ya sasa, na kufanya ubadilishanaji wa data kuwa mzuri zaidi. Wacha tuwaangalie kwa karibu:
100 Endelea . Msimbo wa majibu ya HTTP ambapo seva humpa mtumiaji ruhusa ya kuendelea kutuma ombi kubwa kwa usalama.
101 Kubadilisha Itifaki . Seva humwambia mteja kwamba inabadilisha sheria za mchezo, kwa mfano, kuhama kutoka HTTP hadi HTTPS salama zaidi. Katika hali hii, kichwa cha habari cha "Boresha" kinatumika kwa mabadiliko ya itifaki.
102 Inachakata . Msimbo huu ni kama ujumbe kwamba seva imekubali ombi, lakini bado ina shughuli nyingi.
103 Vidokezo vya Mapema . Hapa seva hutuma vichwa kadhaa vya habari kwa mteja kabla ya jibu kuu, ikionya kuhusu jambo ambalo linaweza kuwa muhimu katika siku za usoni.
Msimbo wa 2xx (Imefaulu)
Nambari za hitilafu za HTTP katika kikundi 2xx zinaonyesha ombi lililofaulu kutoka kwa seva. Kimsingi hufanya kama "taa ya kijani" katika wigo wa mawasiliano ya wavuti, ikithibitisha kuwa kila kitu kinakwenda kulingana na mpango na imekamilika kwa mafanikio.
200 Sawa . Hali hii hutumika wakati seva inashughulikia ombi kwa njia ya GET bila matatizo na kurejesha data iliyoombwa kujibu. Kichwa cha "Aina ya Maudhui" kinaripoti aina ya maudhui katika jibu. Kinamfahamisha mteja tu kwamba ombi lilifanikiwa.
201 Imeundwa . Hapa seva inatangaza uundaji wa rasilimali mpya.
202 Imekubaliwa . Seva humjulisha mtumiaji kwamba ombi limekubaliwa, lakini itachukua muda kujibu.
203 Taarifa Isiyo ya Kisheria . Nambari hii humpa mteja data ambayo inaweza isiwe rasmi, lakini inaweza kutumika kwa kulinganisha.
204 Hakuna Maudhui . Seva imeshughulikia ombi lakini hairudishi maudhui yoyote ya ziada.
205 Weka upya Maudhui . Hapa mteja anaagizwa kuweka upya mwonekano au data ya sasa baada ya kutuma.
206 Maudhui Isiyo kamili . Kesi hii inaonyesha kwamba jibu lina sehemu tu ya maudhui yaliyoombwa. Kichwa cha "Kiwango cha Maudhui" kinaonyesha safu ya maudhui isiyo kamili.
207 Hali Nyingi. Seva imekamilisha ombi la operesheni nyingi kutoka kwa mteja, na jibu lina taarifa kuhusu hali ya kila moja ya shughuli.
226 IM Imetumika . Msimbo huu unaonyesha kwamba seva ilitumia mbinu ya Ongeza Metadata (IM) na ikajibu kwa kupitisha sehemu za rasilimali zilizobadilishwa kwa mteja pekee.
misimbo 3xx (Inaelekezwa kwingine)
Misimbo 3xx katika itifaki ya HTTP ni kama viashiria vinavyoelekeza mtumiaji kwenye eneo jipya la rasilimali. Humfahamisha mteja kwamba hatua za ufuatiliaji lazima zichukuliwe ili kupata maudhui yaliyoombwa au kuelekezwa kwenye rasilimali nyingine. Wacha tuzame katika maelezo ya kila mmoja wao:
Chaguo 300 Nyingi . Mteja hupokea ishara kwamba kuna maeneo kadhaa yanayowezekana kwa rasilimali hiyo na hupewa chaguo katika kujibu. Katika hali ya sasa, kichwa cha "Mahali" kinaweza kuonyesha chaguo mbadala kwa rasilimali hiyo.
301 Imehamishwa Kudumu. Seva inaripoti kwa mtumiaji kwamba rasilimali imehamishwa kabisa hadi eneo lingine.
302 Imepatikana . Msimbo huu wa HTTP ni sawa na uelekezaji wa muda. Seva humjulisha mtumiaji kwamba rasilimali hiyo inapatikana kwa muda katika URL tofauti. Kichwa cha "Mahali" kinaelekeza kwenye URL mpya kwa uelekezaji wa muda.
303 Tazama Nyingine . Mteja anaambiwa kwamba rasilimali hiyo inapatikana katika URL tofauti na lazima afanye ombi la GET kwa anwani hii mpya.
304 Haijarekebishwa . Hali hii inamwambia mteja kwamba rasilimali haijabadilika tangu ombi la mwisho na haihitaji kupakuliwa tena. Wakati wa kufanya ombi, kichwa cha habari cha "If-Modified-Since" hutumika kuangalia kama rasilimali imerekebishwa.
305 Tumia Proksi. Kama jibu, seva inaripoti kwamba inapaswa kutumia proksi iliyobainishwa kufikia rasilimali iliyoombwa.
306 (imehifadhiwa) — Nambari imehifadhiwa, lakini kwa kweli haitumiki.
307 Uelekezaji wa Muda . Nambari hii ni sawa na 302 Iliyopatikana, lakini inahitaji mteja kubaki katika njia ya ombi iliyotumika katika ombi la awali.
308 Uelekezaji Upya wa Kudumu . Inaonyesha kwamba rasilimali imehamia URI mpya na mteja anapaswa kutumia URI mpya kwa maombi yote ya baadaye.
Hitilafu ya 4xx ya HTTP (makosa ya Mteja)
Nambari za hitilafu za HTTP 4xx zinaonyesha hitilafu za mteja. Hii ina maana kwamba tatizo liko upande wa mtumiaji, kama vile kivinjari au programu.
400 Ombi Bad . Seva haiwezi kuchakata ombi kutokana na hitilafu za sintaksia, data batili, au hitilafu zingine kwa upande wa mteja.
401 Haijaidhinishwa. Seva haiwezi kuchakata ombi kutokana na hitilafu za sintaksia, data batili, au hitilafu zingine kwa upande wa mteja.
402 Malipo Yanahitajika . Nambari haitumiki kwa sasa na imehifadhiwa kwa matumizi ya baadaye. Inaweza kuonyesha hitaji la kulipa kabla ya kufikia rasilimali hiyo katika siku zijazo.
Hitilafu ya HTTP 403 Imepigwa Marufuku. Mteja hana haki za kutosha kufikia rasilimali iliyoombwa.
404 Haipatikani. Rasilimali iliyoombwa haipo kwenye seva. Hili ni mojawapo ya makosa ya kawaida ya mtumiaji.
Mbinu ya 405 Hairuhusiwi . Seva haiungi mkono mbinu maalum ya ombi wakati wa rasilimali hii. Kichwa cha "Ruhusu" kinaonyesha mbinu zinazoruhusiwa za rasilimali. Kwa msimbo huu,
406 Haikubaliki. Seva haiwezi kutoa data katika umbizo ambalo linaweza kukubaliwa na mteja.
407 Uthibitishaji wa Proksi Unahitajika . Uthibitishaji kwenye seva ya proksi unahitajika ili kufikia rasilimali iliyoombwa.
Muda wa Ombi 408 Umeisha . Seva ilikuwa ikisubiri kupokea ombi kutoka kwa mteja, lakini muda wake umeisha. Kichwa cha "Jaribu-Baada" kinaweza kuonyesha muda ambao ombi linaweza kujaribiwa tena.
409 Mgongano. Ombi haliwezi kukamilishwa kutokana na mgongano na hali ya rasilimali ya sasa.
410 Imekwenda . Rasilimali iliyoombwa ilikuwepo hapo awali lakini sasa imefutwa na urejesho wake hautarajiwi.
411 Urefu Unaohitajika . Seva inadai kubainisha urefu wa maudhui katika ombi; kutokuwepo kwa taarifa hii kunachukuliwa kuwa kosa.
412 Sharti la awali Limeshindwa . Sharti la awali katika ombi halijatimizwa, ambalo linazuia utekelezaji wake.
413 Mzigo Mkubwa Sana . Ukubwa wa data ya ombi unazidi mipaka ya seva.
URI 414 Ndefu Sana . Urefu wa URI katika ombi unazidi mipaka inayokubalika.
415 Aina ya Vyombo vya Habari Visivyotumika . Seva haiwezi kuchakata aina ya data iliyotolewa katika ombi.
416 Safu Haitoshelezi . Hitilafu ya HTTP ambapo safu iliyoombwa hailingani na data ya seva ya sasa.
417 Matarajio Yameshindwa . Hali inayotarajiwa katika kichwa cha "Tarajia" haikutimizwa.
418 Mimi ni mtungi wa chai . Msimbo huu umejumuishwa kama mzaha na haumaanishi hatua yoyote halisi kwa mtumiaji au seva, na sio kosa kamili. Inaonyesha kwamba seva ni mtungi wa chai na haina uwezo wa kutengeneza kahawa.
421 Ombi Lililoelekezwa Vibaya . Seva haishughulikii ombi kutokana na hitilafu katika ombi au usanidi wa seva.
422 Kipengele Kisichoweza Kusindikwa . Seva inaelewa ombi, lakini hailichakati kutokana na hitilafu za data.
423 Imefungwa. Rasilimali imezuiwa na haiwezi kusindika.
424 Utegemezi Ulioshindwa . Ombi linategemea ombi lingine ambalo halijatekelezwa.
425 Mapema Sana. Seva haiko tayari kushughulikia ombi kutokana na kufika kwake mapema.
426 Uboreshaji Unahitajika . Seva inahitaji matumizi ya itifaki ya hali ya juu zaidi ili kushughulikia ombi.
428 Sharti la Awali Linahitajika . Seva inahitaji masharti fulani ya awali yabainishwe katika ombi.
429 Maombi Mengi Sana . Mteja alituma maombi mengi sana kwa muda mfupi, akizidi mipaka ya seva.
Sehemu 431 za Kichwa cha Ombi Kubwa Sana . Vichwa vya ombi vinazidi ukubwa wa juu unaoruhusiwa.
449 Jaribu tena na. Inaonyesha kwamba ombi haliwezi kuendeshwa na seva ya sasa, lakini linaweza kushughulikiwa kwa ufanisi na seva nyingine, na mteja anapaswa kujaribu tena ombi hilo na URI mpya.
451 Haipatikani kwa Sababu za Kisheria . Chanzo hiki hakipatikani kwa sababu za kisheria.
499 Ombi Lililofungwa la Mteja . Seva ilipokea ombi, lakini muunganisho ulifungwa na mteja kabla ya kukamilika kwa usindikaji.
Hitilafu ya HTTP 5xx (Hitilafu za Seva)
Misimbo ya hitilafu ya HTTP 5xx inaonyesha matatizo ya seva. Nambari hizi zinaonyesha matatizo ambayo yametokea kwa upande wa seva, na kufanya seva kushindwa kushughulikia ombi la mtumiaji kwa njia sahihi. Wacha tuwaangalie kwa karibu:
Hitilafu ya HTTP 500 Hitilafu ya Seva ya Ndani . Seva hukutana na hali zisizotarajiwa zinazoizuia kukamilisha ombi. Kichwa cha "Seva" kinaweza kuonyesha seva ambayo hitilafu ilitokea.
501 Haijatekelezwa . Seva haiungi mkono utendaji unaohitajika ili kuchakata ombi la mteja. Kichwa cha "Kupitia" kinaweza kuonyesha seva mbadala ambayo hitilafu ilitokea.
502 Lango Bad . Nambari hii ina maana kwamba seva inayofanya kazi kama proksi ilipokea jibu lisilo sahihi kutoka kwa seva nyingine.
Hitilafu ya HTTP 503 Huduma Haipatikani . Seva haiwezi kwa muda kuchakata maombi.
Muda wa Kuisha kwa Lango la 504. Seva, ambayo hufanya kazi kama proksi, haikupokea jibu la wakati unaofaa kutoka kwa seva nyingine.
Toleo la HTTP 505 Halitumiki . Seva haitumii toleo la itifaki ya HTTP lililoainishwa katika ombi. Kama chaguo la chelezo, kichwa cha habari cha "Boresha" kinaweza kuonyesha itifaki zinazotumika.
506 Lahaja Pia Hujadili . Hali hii haitumiki katika HTTP/1.1; hata hivyo, ikiwa seva itagundua usanidi wa ndani unaosababisha utata wa mazungumzo ya maudhui, inaweza kutumia jibu hili.
507 Hifadhi Isiyotosha . Seva haiwezi kutimiza ombi kutokana na nafasi ya kutosha ya kuhifadhi kwenye seva.
Kitanzi cha 508 Kimegunduliwa . Seva imegundua kitanzi wakati wa kuchakata ombi, na inakataa kukamilisha ombi ili kuepuka kitanzi kisicho na kikomo.
Kikomo cha Upana wa Kipimo cha 509 Kimezidi . Hitilafu hutokea wakati kipimo data cha seva kinazidi kutokana na idadi kubwa ya maombi au trafiki.
510 Haijaongezwa . Mteja lazima ahamishe viendelezi vya ziada ili kuendelea na ombi.
511 Uthibitishaji wa Mtandao Unahitajika . Mteja lazima ajithibitishe ili aweze kufikia mtandao.
Jinsi ya kuangalia msimbo wa hali ya ukurasa
Katika sehemu hii, tutazingatia njia kuu tatu za kuangalia msimbo wa hali ya ukurasa: kupitia mstari wa amri, kwa kutumia kivinjari, na kutumia huduma za mtandaoni zinazojitegemea. Kila moja ya njia hizi ina faida zake mwenyewe na inaweza kuwa na manufaa katika hali tofauti.
Kuangalia majibu ya seva kupitia mstari wa amri
Mstari wa amri hutoa njia rahisi ya kuangalia msimbo wa hali ya ukurasa bila kutumia kivinjari. Kwa njia hii, unahitaji kufungua mstari wa amri na utumie amri:
curl -I http://page-address
Amri hii hutuma ombi la HEAD (vijajuu ombi pekee) kwa URL maalum na huonyesha taarifa ikijumuisha msimbo wa hali ya HTTP:
Mfano hapo juu unaonyesha nambari ya jibu iliyofanikiwa. Katika kesi ya jibu ambalo lina nambari ya makosa, kama vile hitilafu ya 404 Haipatikani ya HTTP, matokeo yataonekana sawa:
Kuangalia majibu ya seva kupitia koni ya kivinjari
Dashibodi ya msanidi wa kivinjari hutoa zana za kufanya shughuli mbalimbali, ikiwa ni pamoja na kuangalia msimbo wa hali ya ukurasa. Ili kuona msimbo wa HTTP katika jibu la seva, unahitaji kufungua kiweko cha msanidi (Ctrl+Shift+K) au (Ctrl+shift+J) kulingana na kivinjari kilichotumiwa. Ifuatayo, chagua sehemu ya "mtandao" na upakie ukurasa unaotaka:
Kuangalia majibu ya seva kwa kutumia zana zinazojitegemea
Kuna idadi kubwa ya huduma huru za mtandaoni zinazotoa zana za kuangalia msimbo wa hali ya ukurasa wa tovuti. Huduma hizi kwa kawaida hukuruhusu kupokea muhtasari wa upatikanaji na utendaji wa rasilimali yako haraka. Zote hufanya kazi kwa kutumia kanuni sawa. Kwa mfano, tutazingatia rasilimali maarufu zaidi - httpsstatus.io
Kwanza kabisa, unahitaji kufungua huduma yenyewe, kisha ingiza anwani ya ukurasa ambayo jibu unahitaji kujua, na uombe uthibitisho:
Matokeo yataonyeshwa chini ya ukurasa:
Hitimisho
Kwa kumalizia, inapaswa kusisitizwa kuwa kuelewa na kuweza kusoma misimbo ya makosa ya HTTP ni ujuzi muhimu kwa mtu yeyote anayehusika katika ukuzaji wa wavuti na matengenezo ya seva. Tunapobaini kila kosa na kuchunguza zana za kuyagundua, tunaona sababu kwa nini ni muhimu sana kudhibiti vipengele hivi vya huduma za wavuti kwa ufanisi.