Veebiarenduse maailmas mängivad HTTP veakoodid olulist rolli kasutajakogemuse ja veebisaidi maine mõjutamisel. Selles artiklis käsitleme täielikku serveri veakoodide loendit, analüüsime nende tähendusi ja õpime, kuidas tõhusalt tõlgendada serveri vastuse koode, et lahendada probleeme ja optimeerida veebirakenduste jõudlust.
Mis on HTTP vastuse kood
HTTP vastusekood on veebiserverite keel, mis muudab brauseri päringud arusaadavateks juhisteks. See on nagu poeet, kes vastab virtuaalsetele küsimustele, annab neile tähenduse ja suuna. Vastuskoodid ei ole alati HTTP veakoodid. Näiteks "200 OK" tähendab, et kõik on korras, kuid HTTP-tõrge "404 ei leitud" tähendab, et leht on virtuaalses ruumis kadunud. Iga kood on serveri oleku kordumatu väljendus, mille dekodeerimine võimaldab mõista, mis toimub teisel pool virtuaalset maailma.
1xx koodid (teave)
HTTP-protokolli 1xx olekukoodid on omamoodi esimene link serveri ja kliendi vahelises dialoogis. Selle asemel, et anda päringule täielikku vastust, annavad nad teavet hetkeoleku kohta, muutes andmevahetuse tõhusamaks. Vaatame neid lähemalt:
100 Jätka . HTTP vastusekood, millega server annab kasutajale rohelise tule, võimaldades tal turvaliselt jätkata suure päringu saatmist.
101 Protokollide vahetamine . Server teatab kliendile, et muudab mängureegleid, näiteks läheb üle HTTP-lt turvalisemale HTTPS-ile. Sellisel juhul kasutatakse protokolli muutmiseks päist „Upgrade”.
102 Töötlemine . See kood on nagu teade, et server on päringu vastu võtnud, kuid on endiselt hõivatud keeruka toiminguga.
103 Varajased vihjed . Siin saadab server kliendile enne põhivastust mitu suunavat päist, hoiatades millegi eest, mis võib lähitulevikus oluline olla.
2xx kood (edukas)
HTTP veakoodid rühmas 2xx näitavad serveri edukat päringut. Need toimivad veebisuhtluses sisuliselt “rohelise tulena”, kinnitades, et kõik läheb plaanipäraselt ja on edukalt lõpule viidud.
200 OK . Seda olekut kasutatakse siis, kui server töötleb GET-meetodi abil päringut probleemideta ja tagastab vastuseks nõutud andmed. Päis "Content-Type" näitab vastuse sisutüüpi. See lihtsalt teavitab klienti päringu edukast esitamisest.
201 Loodud . Siin teatab server uue ressursi loomisest.
202 Vastu võetud . Server annab kasutajale teada, et päring on vastu võetud, kuid vastamine võtab aega.
203 Mitteautoriteetne teave . See kood annab kliendile andmeid, mis ei pruugi olla ametlikud, kuid mida saab võrdluseks kasutada.
204 Sisu puudub . Server on päringu töödelnud, kuid ei tagasta täiendavat sisu.
205 Lähtesta sisu . Siin antakse kliendile juhised praeguse vaate või andmete lähtestamiseks pärast saatmist.
206 Osaline sisu . See juhtum näitab, et vastus sisaldab ainult osa taotletud sisust. Päis „Content-Range” näitab osalist sisuvahemikku.
207 Mitme olekuga. Server on edukalt lõpule viinud kliendilt saadud mitme toimingu taotluse ja vastus sisaldab teavet iga toimingu oleku kohta.
226 IM-i kasutati . See kood näitab, et server kasutas inkrementaalsete metaandmete (IM) meetodit ja vastas kliendile ainult muudetud ressursiosade edastamisega.
3xx koodid (ümbersuunamised)
HTTP-protokolli 3xx koodid on nagu viited, mis suunavad kasutaja uude ressursi asukohta. Nad teavitavad klienti, et taotletud sisu saamiseks või teise ressurssi ümbersuunamiseks tuleb võtta järelmeetmeid. Sukeldume igaühe üksikasjadesse:
300 Mitmikvalikud . Klient saab signaali, et ressursil on mitu võimalikku asukohta, ja talle antakse vastuseks valik. Praegustes oludes võib päis „Asukoht” viidata ressursi alternatiivsetele valikutele.
301 Jäävalt teisaldatud. Server annab kasutajale teada, et ressurss on jäädavalt teise kohta teisaldatud.
302 Leitud . See HTTP-kood sarnaneb ajutise ümbersuunamisega. Server teavitab tarbijat, et ressurss on ajutiselt saadaval teisel URL-il. Päis „Asukoht” osutab ajutise ümbersuunamise uuele URL-ile.
303 Vaata muud . Kliendile öeldakse, et ressurss on saadaval teisel URL-il ja ta peab sellele uuele aadressile tegema GET-päringu.
304 Muutmata . See olek annab kliendile teada, et ressurss on viimasest päringust saadik muutmata ja seda pole vaja uuesti alla laadida. Päringu esitamisel kasutatakse päist "If-Modified-Since", et kontrollida, kas ressurssi on muudetud.
305 Kasuta puhverserverit. Vastuseks teatab server, et peaks taotletud ressursile juurdepääsuks kasutama määratud puhverserverit.
306 (reserveeritud) – kood on reserveeritud, kuid tegelikult seda ei kasutata.
307 Ajutine ümbersuunamine . See kood sarnaneb koodiga 302 Found, kuid nõuab, et klient jääks algses taotluses kasutatud päringumeetodi juurde.
308 Püsiv ümbersuunamine . Näitab, et ressurss on teinud püsiva ümbersuunamise uuele URI-le ja klient peaks kõigi tulevaste päringute jaoks kasutama uut URI-d.
4xx HTTP-viga (kliendi vead)
HTTP 4xx veakoodid näitavad kliendi vigu. See tähendab, et probleem on kasutaja poolel, näiteks veebibrauseris või rakenduses.
400 Vigane päring . Server ei saa päringut töödelda süntaksivigade, sobimatute andmete või muude kliendipoolsete vigade tõttu.
401 Volitamata. Server ei saa päringut töödelda süntaksivigade, sobimatute andmete või muude kliendipoolsete vigade tõttu.
402 Nõutav makse . Kood pole hetkel aktiivne ja on reserveeritud edaspidiseks kasutamiseks. See võib viidata vajadusele maksta enne ressursile juurdepääsu tulevikus.
HTTP-tõrge 403 Keelatud. Kliendil pole taotletud ressursile juurdepääsuks piisavalt õigusi.
404 Ei leitud. Taotletud ressurssi serveris pole. See on üks levinumaid kasutajavigu.
405 Meetod pole lubatud . Server ei toeta selle ressursi puhul määratud päringumeetodit. Päis „Allow” näitab ressursi lubatud meetodeid. Selle koodiga
406 Mitteaktsepteeritav. Server ei saa esitada andmeid kliendile vastuvõetavas vormingus.
407 Puhverserveri autentimine on nõutav . Taotletud ressursile juurdepääsuks on vaja puhverserveri autentimist.
408 Päringu ajalõpp . Server ootas kliendilt päringu saamist, kuid tekkis ajalõpp. Päis „Retry-After” võib näidata aega, mille möödudes saab päringut uuesti proovida.
409 Konflikt. Päringut ei saa praeguse ressursi olekuga konflikti tõttu täita.
410 Läinud . Taotletud ressurss oli varem olemas, kuid on nüüd kustutatud ja selle taastamist ei oodata.
411 Pikkus on nõutav . Server nõuab päringus sisu pikkuse määramist; selle teabe puudumist peetakse veaks.
412 Eeltingimus ebaõnnestus . Taotluse eeltingimus pole täidetud, mis takistab selle täitmist.
413 Kasulik koormus on liiga suur . Taotluse andmete suurus ületab serveri piiranguid.
414 URI on liiga pikk . Taotluses olev URI pikkus ületab lubatud piire.
415 Toetamata meediumitüüp . Server ei saa päringus esitatud andmetüüpi töödelda.
416 Vahemik pole rahuldav . HTTP-viga, mille korral taotletud vahemik ei vasta praegustele serveriandmetele.
417 Ootus nurjus . Päises „Oodatav” olev oodatud tingimus ei olnud täidetud.
418 „Ma olen teekann” . See kood on lisatud naljana ega eelda kasutajalt ega serverilt mingit reaalset tegevust ning see ei ole täielik viga. See näitab, et server on teekann ja ei ole võimeline kohvi tegema.
421 Valesti suunatud päring . Server ei töötle päringut päringu või serveri konfiguratsioonivea tõttu.
422 Töötlematu objekt . Server saab päringust aru, kuid ei töötle seda andmevigade tõttu.
423 Lukustatud. Ressurss on blokeeritud ja seda ei saa töödelda.
424 Sõltuvus ebaõnnestus . Päring sõltub teisest täitmata päringust.
425 Liiga vara. Server ei ole päringu töötlemiseks valmis, kuna see saabus liiga vara.
426 Vajalik on uuendamine . Server nõuab päringu töötlemiseks keerukama protokolli kasutamist.
428 Nõutav eeltingimus . Server nõuab päringus teatud eeltingimuste täpsustamist.
429 Liiga palju päringuid . Klient saatis lühikese aja jooksul liiga palju päringuid, ületades serveri piiranguid.
431 Taotluse päiseväljad on liiga suured . Taotluse päised ületavad maksimaalselt lubatud suurust.
449 Proovi uuesti. Näitab, et praegune server ei saa päringut käivitada, kuid teine server saab seda edukalt töödelda ja klient peaks päringut uue URI-ga uuesti proovima.
451 Pole juriidilistel põhjustel saadaval . Allikas pole juriidilistel põhjustel saadaval.
499 Kliendi suletud päring . Server sai päringu, kuid klient sulges ühenduse enne töötlemise lõpuleviimist.
HTTP 5xx viga (serveri vead)
HTTP 5xx veakoodid näitavad serveri probleeme. Need koodid näitavad serveri poolel esinenud probleeme, mistõttu server ei suuda kasutaja päringut õigesti töödelda. Vaatame neid lähemalt:
HTTP-tõrge 500 Sisemine serveritõrge . Serveril tekivad ootamatud asjaolud, mis takistavad päringu lõpuleviimist. Päis "Server" võib viidata serverile, kus viga ilmnes.
501 Pole rakendatud . Server ei toeta kliendi päringu töötlemiseks vajalikku funktsionaalsust. Päis „Via” võib viidata puhverserverile, mille kaudu viga tekkis.
502 Vigane värav . See kood tähendab, et puhverserverina toimiv server sai teiselt serverilt vale vastuse.
HTTP- tõrge 503 Teenus pole saadaval . Server ei saa ajutiselt päringuid töödelda.
504 Värava ajalõpp . Puhverserverina toimiv server ei saanud teiselt serverilt õigeaegset vastust.
505 HTTP versiooni ei toetata . Server ei toeta päringus määratud HTTP protokolli versiooni. Varuvalikuna võib päis „Upgrade” viidata toetatud protokollidele.
506 Variant peab ka läbirääkimisi . Seda olekut ei kasutata HTTP/1.1 puhul; kui server aga tuvastab sisemise konfiguratsiooni, mis põhjustab sisuläbirääkimiste ebaselgust, võib see seda vastust kasutada.
507 Ebapiisav salvestusruum . Server ei saa päringut täita, kuna serveris pole piisavalt salvestusruumi.
508 Tsüklus tuvastatud . Server tuvastas päringu töötlemisel tsükli ja keeldub lõpmatu tsükli vältimiseks päringut lõpule viimast.
509 Ribalaiuse piirang ületatud . Viga ilmneb siis, kui serveri ribalaius on suure päringute või liikluse mahu tõttu ületatud.
510 Pole pikendatud . Klient peab päringu jätkamiseks edastama täiendavaid laiendusi.
511 Nõutav võrgu autentimine . Klient peab võrgule juurdepääsu saamiseks end autentima.
Kuidas kontrollida lehe olekukoodi
Selles jaotises käsitleme kolme peamist viisi lehe olekukoodi kontrollimiseks: käsurea kaudu, veebibrauseri ja sõltumatute võrguteenuste abil. Igal neist meetoditest on oma eelised ja need võivad olla kasulikud erinevates olukordades.
Serveri vastuse kontrollimine käsurea kaudu
Käsurea abil saab mugavalt kontrollida lehe olekukoodi ilma veebibrauserit kasutamata. Selle meetodi jaoks peate avama käsurea ja kasutama käsku:
curl -I http://page-address
See käsk saadab HEAD päringu (ainult päiste päring) määratud URL-ile ja kuvab teavet, sealhulgas HTTP olekukoodi:
Ülaltoodud näide näitab edukat vastusekoodi. Veakoodi sisaldava vastuse korral, näiteks HTTP-tõrge 404 ei leitud, näeb tulemus välja sarnane:
Serveri vastuse kontrollimine brauseri konsooli kaudu
Veebibrauseri arendajakonsool pakub tööriistu erinevate toimingute tegemiseks, sealhulgas lehe olekukoodi kontrollimiseks. HTTP-koodi nägemiseks serveri vastuses tuleb avada arendajakonsool (Ctrl+Shift+K) või (Ctrl+Shift+J) olenevalt kasutatavast brauserist. Järgmisena valige jaotis "võrk" ja laadige soovitud leht:
Serveri vastuse kontrollimine sõltumatute tööriistade abil
On olemas suur hulk sõltumatuid veebiteenuseid, mis pakuvad tööriistu veebisaidi olekukoodi kontrollimiseks. Need teenused võimaldavad teil tavaliselt kiiresti saada ülevaate oma ressursi saadavusest ja toimivusest. Nad kõik töötavad sama põhimõtte alusel. Näiteks vaatleme kõige populaarsemat ressurssi - httpsstatus.io.
Kõigepealt peate avama teenuse ise, seejärel sisestama selle lehe aadressi, mille vastuse peate välja selgitama, ja taotlema kinnitust:
Tulemus kuvatakse lehe allosas:
Järeldus
Kokkuvõtteks tuleb rõhutada, et HTTP veakoodide mõistmine ja lugemise oskus on igaühe jaoks, kes tegeleb veebiarenduse ja serverite hooldusega, võtmeoskus. Iga vea väljaselgitamisel ja nende tuvastamise tööriistu uurides näeme põhjuseid, miks on nii oluline neid veebiteenuste aspekte tõhusalt hallata.