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 wa HTTP ambapo seva humpa mtumiaji mwanga wa kijani, na kumruhusu kuendelea kutuma ombi kubwa kwa usalama.
101 Kubadilisha Itifaki. Seva humwambia mteja kuwa inabadilisha sheria za mchezo, kwa mfano, kuhama kutoka HTTP hadi HTTPS iliyo salama zaidi. Katika kesi hii, kichwa cha "Kuboresha" kinatumika kwa mabadiliko ya itifaki.
102 Uchakataji. Msimbo huu ni kama ujumbe kwamba seva imekubali ombi, lakini bado iko na shughuli ngumu.
103 Vidokezo vya Mapema. Hapa seva hutuma vichwa kadhaa vya dalili kwa mteja kabla ya jibu kuu, ikionya juu ya kitu ambacho kinaweza 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 OK. Hali hii hutumika seva inapochakata ombi kwa mbinu ya GET bila matatizo na kurejesha data iliyoombwa kama jibu. Kijajuu cha "Aina ya Maudhui" kinaripoti aina ya maudhui katika jibu. Inafahamisha tu mteja kwamba ombi lilifanikiwa.
201 Imeundwa. Hapa seva inatangaza uundaji wa rasilimali mpya.
202 Imepokelewa. Seva humjulisha mtumiaji kuwa ombi limekubaliwa, lakini itachukua muda kujibu.
203 Taarifa Zisizo Mamlaka. Nambari hii inampa mteja data ambayo inaweza kuwa si rasmi, lakini inaweza kutumika kwa kulinganisha.
204 Hakuna Maudhui. Seva imechakata ombi lakini hairejeshi maudhui yoyote ya ziada.
205 Weka Upya Maudhui. Hapa mteja anaagizwa kuweka upya mtazamo wa sasa au data baada ya kutuma.
206 Maudhui Sehemu. Kesi hii inaonyesha kuwa jibu lina sehemu tu ya maudhui yaliyoombwa. Kijajuu cha "Msururu wa Maudhui" kinaonyesha masafa ya sehemu ya maudhui.
207 Hali nyingi. Seva imekamilisha ombi la operesheni nyingi kutoka kwa mteja, na jibu lina habari kuhusu hali ya kila shughuli.
226 IM Imetumika. Msimbo huu unaonyesha kuwa seva ilitumia mbinu ya Metadata ya Kuongezeka (IM) na ikajibu kwa kupitisha tu sehemu za nyenzo zilizobadilishwa kwa mteja.
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:
300 Chaguzi Nyingi. Mteja hupokea ishara kwamba kuna maeneo kadhaa yanayowezekana kwa rasilimali na anapewa chaguo katika kujibu. Katika hali ya sasa, kichwa cha "Mahali" kinaweza kuonyesha chaguo mbadala za rasilimali.
301 Imehamishwa kwa Kudumu. Seva inaripoti kwa mtumiaji kwamba rasilimali imehamishwa hadi mahali pengine kabisa.
302 Kupatikana. Msimbo huu wa HTTP ni sawa na uelekezaji upya wa muda. Seva hufahamisha mtumiaji kuwa rasilimali hiyo inapatikana kwa muda katika URL tofauti. Kijajuu cha "Mahali" kinaelekeza kwenye URL mpya kwa ajili ya kuelekeza kwingine kwa muda.
303 Ona Wengine. Mteja anaambiwa kuwa rasilimali hiyo inapatikana katika URL tofauti na lazima atume ombi la GET kwa anwani hii mpya.
304 Haijabadilishwa. Hali hii inamwambia mteja kuwa rasilimali imesalia bila kubadilika tangu ombi la mwisho na haihitaji kupakuliwa tena. Wakati wa kufanya ombi, kichwa cha "Ikiwa-Imebadilishwa-Tangu" kinatumika kuangalia ikiwa rasilimali imerekebishwa.
305 Tumia Wakala. Kama jibu, seva inaripoti kwamba inapaswa kutumia seva mbadala iliyobainishwa kufikia rasilimali iliyoombwa.
306 (imehifadhiwa) - Nambari imehifadhiwa, lakini kwa kweli haitumiki.
307 Uelekezwe kwa muda. Msimbo huu ni sawa na 302 Found, lakini unahitaji mteja kusalia katika mbinu ya ombi ambayo ilitumika katika ombi asili.
308 Uelekezaji Upya wa Kudumu. Inaonyesha kuwa rasilimali imehamia kwa URI mpya na mteja anapaswa kutumia URI mpya kwa maombi yote yajayo.
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.
Ombi la Msaada wa 400. Seva haiwezi kuchakata ombi kwa sababu ya hitilafu za sintaksia, data batili, au hitilafu nyinginezo kwa upande wa mteja.
401 Haijaidhinishwa. Seva haiwezi kuchakata ombi kwa sababu ya hitilafu za sintaksia, data batili, au hitilafu nyinginezo kwa upande wa mteja.
402 Malipo Yanahitajika. Nambari ya kuthibitisha haitumiki kwa sasa na imehifadhiwa kwa matumizi ya baadaye. Inaweza kuonyesha hitaji la kulipa kabla ya kufikia rasilimali katika siku zijazo.
Hitilafu ya HTTP 403 Imepigwa marufuku. Mteja hana haki za kutosha kufikia rasilimali iliyoombwa.
404 haipatikani. Nyenzo iliyoombwa haipo kwenye seva. Hili ni mojawapo ya makosa ya kawaida ya mtumiaji.
Njia ya 405 Haiiruhusiwi. Seva haiauni mbinu iliyobainishwa ya ombi wakati wa nyenzo hii. Kichwa cha "Ruhusu" kinaonyesha njia zinazoruhusiwa za rasilimali. Kwa kanuni hii,
406 Haikubaliki. Seva haiwezi kutoa data katika umbizo ambalo linaweza kukubaliwa na mteja.
407 Uthibitishaji wa Wakala Unahitajika. Uthibitishaji kwenye seva mbadala unahitajika ili kufikia rasilimali iliyoombwa.
Muda wa Ombi la 408. Seva ilikuwa inasubiri kupokea ombi kutoka kwa mteja, lakini muda umekwisha. Kichwa cha "Jaribu-Baada ya" kinaweza kuonyesha muda ambao ombi linaweza kujaribiwa tena.
409 Migogoro. Ombi haliwezi kukamilika kwa sababu ya mgongano na hali ya sasa ya rasilimali.
410 Imepita. Nyenzo iliyoombwa ilikuwepo awali lakini sasa imefutwa na urejeshaji wake hautarajiwi.
411 Urefu Unaohitajika. Seva inadai kubainisha urefu wa maudhui katika ombi; kutokuwepo kwa habari hii kunachukuliwa kuwa kosa.
412 Masharti Yameshindikana. Masharti ya awali katika ombi hayatimizwi, ambayo yanalizuia kutekelezwa.
413 Mzigo Mkubwa Sana. Saizi ya data ya ombi inazidi mipaka ya seva.
414 URI Ndefu Sana. Urefu wa URI katika ombi unazidi kikomo kinachokubalika.
415 Aina ya Midia Isiyotumika. Seva haiwezi kuchakata aina ya data iliyotolewa katika ombi.
416 Msururu Hautosheki. Hitilafu ya HTTP ambapo safu iliyoombwa hailingani na data ya seva ya sasa.
417 Matarajio Yameshindikana. Hali inayotarajiwa katika kichwa cha "Tarajia" haikufikiwa.
418 Mimi ni buli. Nambari hii imejumuishwa kama mzaha na haimaanishi kitendo chochote cha kweli kwa mtumiaji au seva, na sio kosa kamili. Inaonyesha kuwa seva ni buli na haina uwezo wa kutengeneza kahawa.
421 Ombi Lililopotoshwa. Seva haichakati ombi kwa sababu ya hitilafu katika ombi au usanidi wa seva.
422 Huluki Isiyochakatwa. Seva inaelewa ombi, lakini hailichakati kwa sababu ya hitilafu za data.
423 Imefungwa. Rasilimali imezuiwa na haiwezi kuchakatwa.
424 Imeshindwa Kutegemea. Ombi linategemea ombi lingine ambalo halijatekelezwa.
425 Mapema Sana. Seva haiko tayari kushughulikia ombi kwa sababu ya kuja kwake mapema.
426 Uboreshaji Unahitajika. Seva inahitaji matumizi ya itifaki ya kina zaidi ili kushughulikia ombi.
428 Masharti Yanayohitajika. Seva inahitaji masharti fulani kubainishwa katika ombi.
429 Maombi Mengi Sana. Mteja alituma maombi mengi sana kwa muda mfupi, na kupita mipaka ya seva.
431 Omba Sehemu za Kijajuu Kubwa Sana. Vijajuu vya ombi vinazidi kiwango cha juu kinachoruhusiwa.
449 Jaribu tena na. Inaonyesha kuwa ombi haliwezi kuendeshwa na seva ya sasa, lakini linaweza kuchakatwa kwa ufanisi na seva nyingine, na mteja anapaswa kujaribu ombi tena kwa URI mpya.
451 Haipatikani kwa Sababu za Kisheria. Rasilimali haipatikani 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 Ndani ya Seva. Seva hukutana na hali zisizotarajiwa zinazoizuia kukamilika kwa ombi Kichwa cha "Seva" kinaweza kuonyesha seva ambayo hitilafu ilitokea.
501 Haijatekelezwa. Seva haiauni utendakazi unaohitajika ili kuchakata ombi la mteja. Kijajuu cha "Kupitia" kinaweza kuonyesha seva mbadala ambayo hitilafu ilitokea.
Mlango wa Bado wa 502. Msimbo huu unamaanisha kuwa seva inayofanya kazi kama proksi ilipokea jibu lisilo sahihi kutoka kwa seva nyingine.
HTTP kosa Huduma ya 503 haipatikani. Seva haiwezi kushughulikia maombi kwa sasa.
504 Lango la Kuisha. Seva, ambayo hufanya kazi kama proksi, haikupokea jibu kwa wakati kutoka kwa seva nyingine.
Toleo la 505 HTTP halijatekelezwa. Seva haitumii toleo la itifaki ya HTTP iliyobainishwa katika ombi. Kama chaguo mbadala, kichwa cha "Boresha" kinaweza kuonyesha itifaki zinazotumika.
506 Lahaja Pia Hujadili. Hali hii haitumiki katika HTTP/1.1; hata hivyo, seva ikitambua usanidi wa ndani unaosababisha utata wa mazungumzo ya maudhui, inaweza kutumia jibu hili.
507 Hifadhi isiyotosha. Seva haiwezi kutimiza ombi kwa sababu ya uhaba wa nafasi ya hifadhi kwenye seva.
Kitanzi cha 508 Kimegunduliwa. Seva imegundua kitanzi wakati inashughulikia ombi, na inakataa kukamilisha ombi ili kuepusha kitanzi kisicho na kikomo.
Kikomo cha Bandwidth cha 509 Kimezidi. Hitilafu hutokea wakati kipimo cha data cha seva kinapitwa kwa sababu ya kiasi kikubwa cha maombi au trafiki.
510 Haijapanuliwa. Mteja lazima ahamishe viendelezi vya ziada ili kuendelea na ombi.
511 Uthibitishaji wa Mtandao Unahitajika. Mteja lazima ajithibitishe ili kupata ufikiaji wa 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 za mtandaoni zinazojitegemea ambazo hutoa zana za kuangalia msimbo wa hali ya ukurasa wa tovuti. Huduma hizi kwa kawaida hukuruhusu kupokea muhtasari wa haraka wa upatikanaji na utendakazi wa rasilimali yako. Wote hufanya kazi kwa kutumia kanuni sawa. Kwa mfano, tutazingatia rasilimali maarufu zaidi - httpstatu.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.