Verkkokehityksen maailmassa HTTP-virhekoodeilla on keskeinen rooli verkkosivuston käyttökokemukseen ja maineeseen vaikuttamisessa. Tässä artikkelissa tarkastelemme täydellistä luetteloa palvelinvirhekoodeista, analysoimme niiden merkityksiä ja opimme tulkitsemaan palvelimen vastauskoodeja tehokkaasti ongelmien ratkaisemiseksi ja verkkosovellusten suorituskyvyn optimoimiseksi.
Mikä on HTTP-vastauskoodi
HTTP-vastauskoodi on verkkopalvelinten kieli, joka kääntää selaimen pyynnöt ymmärrettäviksi ohjeiksi. Se on kuin runoilija, joka vastaa virtuaalisiin kysymyksiin ja antaa niille merkityksen ja suunnan. Vastauskoodit eivät aina ole HTTP-virhekoodeja. Esimerkiksi "200 OK" tarkoittaa, että kaikki on kunnossa, mutta HTTP-virhe "404 ei löydy" tarkoittaa, että sivu katoaa virtuaalitilaan. Jokainen koodi on ainutlaatuinen ilmaus palvelimen tilasta, jonka dekoodauksen avulla voimme ymmärtää, mitä virtuaalimaailman toisella puolella tapahtuu.
1xx-koodit (Tiedot)
HTTP-protokollan 1xx-tilakoodit ovat eräänlainen ensimmäinen linkki palvelimen ja asiakkaan välisessä dialogissa. Sen sijaan, että ne antaisivat täydellisen vastauksen pyyntöön, ne tarjoavat tietoa nykyisestä tilasta, mikä tehostaa tiedonvaihtoa. Katsotaanpa niitä tarkemmin:
100 Continue . HTTP-vastauskoodi, jossa palvelin antaa käyttäjälle vihreää valoa, jolloin hän voi turvallisesti jatkaa suuren pyynnön lähettämistä.
101 Protokollien vaihtaminen . Palvelin kertoo asiakkaalle muuttavansa pelin sääntöjä, esimerkiksi siirtyvänsä HTTP:stä turvallisempaan HTTPS:ään. Tässä tapauksessa protokollan muutokseen käytetään "Upgrade"-otsikkoa.
102 Käsittelyssä . Tämä koodi on kuin viesti, joka kertoo palvelimen hyväksyneen pyynnön, mutta olevan edelleen kiireinen monimutkaisen toiminnon kanssa.
103 Ennakkovihjettä . Tässä palvelin lähettää asiakkaalle useita viitteellisiä otsikoita ennen päävastausta varoittaen jostakin, jolla saattaa olla merkitystä lähitulevaisuudessa.
2xx-koodi (onnistui)
HTTP-virhekoodit ryhmässä 2xx osoittavat onnistuneen pyynnön palvelimelta. Ne toimivat pohjimmiltaan "vihreänä valona" verkkoviestinnässä ja vahvistavat, että kaikki menee suunnitelmien mukaan ja on onnistuneesti suoritettu.
200 OK . Tätä tilaa käytetään, kun palvelin käsittelee GET-metodilla tehdyn pyynnön ongelmitta ja palauttaa pyydetyt tiedot vastauksena. "Content-Type"-otsikko ilmoittaa vastauksen sisällön tyypin. Se vain ilmoittaa asiakkaalle, että pyyntö onnistui.
201 Luotu . Tässä palvelin ilmoittaa uuden resurssin luomisesta.
202 Hyväksytty . Palvelin ilmoittaa käyttäjälle, että pyyntö on hyväksytty, mutta vastaaminen vie jonkin aikaa.
203 Ei-virallista tietoa . Tämä koodi tarjoaa asiakkaalle tietoja, jotka eivät välttämättä ole virallisia, mutta joita voidaan käyttää vertailuun.
204 Ei sisältöä . Palvelin on käsitellyt pyynnön, mutta ei palauta mitään muuta sisältöä.
205 Palauta sisältö . Tässä asiakasta ohjeistetaan palauttamaan nykyinen näkymä tai tiedot lähettämisen jälkeen.
206 Osittainen sisältö . Tämä tapaus osoittaa, että vastaus sisältää vain osan pyydetystä sisällöstä. "Content-Range"-otsikko osoittaa osittaisen sisältöalueen.
207 Monitila. Palvelin on onnistuneesti suorittanut asiakkaan monitoimintopyynnön, ja vastaus sisältää tietoja kunkin toiminnon tilasta.
226 Pikaviestintä käytetty . Tämä koodi osoittaa, että palvelin käytti inkrementaalista metadataa (IM) ja vastasi välittämällä asiakkaalle vain muokatut resurssin osat.
3xx-koodit (uudelleenohjaukset)
HTTP-protokollan 3xx-koodit ovat kuin osoittimia, jotka ohjaavat käyttäjän uuteen resurssipaikkaan. Ne ilmoittavat asiakkaalle, että on ryhdyttävä jatkotoimiin pyydetyn sisällön saamiseksi tai uudelleenohjaamiseksi toiseen resurssiin. Sukellaanpa jokaisen niistä yksityiskohtiin:
300 Monivalinta . Asiakas saa signaalin, että resurssille on useita mahdollisia sijainteja, ja saa vastaukseksi vaihtoehdon. Nykyisissä olosuhteissa "Sijainti"-otsikko saattaa viitata resurssin vaihtoehtoisiin sijainteihin.
301 Siirretty pysyvästi. Palvelin raportoi käyttäjälle, että resurssi on siirretty pysyvästi toiseen sijaintiin.
302 Löytyi . Tämä HTTP-koodi on samanlainen kuin väliaikainen uudelleenohjaus. Palvelin ilmoittaa käyttäjälle, että resurssi on väliaikaisesti saatavilla eri URL-osoitteessa. "Location"-otsikko osoittaa uuteen URL-osoitteeseen väliaikaista uudelleenohjausta varten.
303 Katso Muut . Asiakkaalle kerrotaan, että resurssi on saatavilla eri URL-osoitteessa ja hänen on tehtävä GET-pyyntö tähän uuteen osoitteeseen.
304 Ei muokattu . Tämä tila kertoo asiakkaalle, että resurssi on pysynyt muuttumattomana viimeisimmän pyynnön jälkeen eikä sitä tarvitse ladata uudelleen. Pyyntöä tehtäessä "If-Modified-Since"-otsikkoa käytetään tarkistamaan, onko resurssia muokattu.
305 Käytä välityspalvelinta. Vastauksena palvelin ilmoittaa, että sen tulisi käyttää määritettyä välityspalvelinta pyydetyn resurssin käyttämiseen.
306 (varattu) — Koodi on varattu, mutta sitä ei todellisuudessa käytetä.
307 Väliaikainen uudelleenohjaus . Tämä koodi on samanlainen kuin 302 Löytyi, mutta vaatii asiakasta pysymään alkuperäisessä pyynnössä käytetyssä pyyntömetodissa.
308 Pysyvä uudelleenohjaus . Ilmaisee, että resurssi on tehnyt pysyvän siirron uuteen URI:in ja asiakkaan tulisi käyttää uutta URI:a kaikissa tulevissa pyynnöissä.
4xx HTTP-virhe (asiakasvirheet)
HTTP 4xx -virhekoodit osoittavat asiakasvirheitä. Tämä tarkoittaa, että ongelma on käyttäjäpuolella, kuten verkkoselaimessa tai sovelluksessa.
400 Virheellinen pyyntö . Palvelin ei voi käsitellä pyyntöä syntaksivirheiden, virheellisten tietojen tai muiden asiakaspuolen virheiden vuoksi.
401 Luvaton. Palvelin ei voi käsitellä pyyntöä syntaksivirheiden, virheellisten tietojen tai muiden asiakaspuolen virheiden vuoksi.
402 Maksu vaaditaan . Koodi ei ole tällä hetkellä aktiivinen ja on varattu tulevaa käyttöä varten. Se voi viitata maksun tarpeeseen ennen resurssin käyttöä tulevaisuudessa.
HTTP-virhe 403 Kielletty. Asiakkaalla ei ole riittäviä oikeuksia pyydetyn resurssin käyttämiseen.
404 Ei löydy. Pyydettyä resurssia ei ole palvelimella. Tämä on yksi yleisimmistä käyttäjävirheistä.
405 Metodia ei sallita . Palvelin ei tue määritettyä pyyntömetodia tässä resurssissa. ”Allow”-otsikko osoittaa resurssin sallitut metodit. Tällä koodilla
406 Ei hyväksyttävä. Palvelin ei voi tarjota tietoja asiakkaan hyväksymässä muodossa.
407 Välityspalvelimen todennus vaaditaan . Välityspalvelimen todennus vaaditaan pyydetyn resurssin käyttämiseen.
408 Pyynnön aikakatkaisu . Palvelin odotti pyyntöä asiakkaalta, mutta aikakatkaistiin. "Retry-After"-otsikko saattaa osoittaa ajan, jonka jälkeen pyyntöä voidaan yrittää uudelleen.
409 Ristiriita. Pyyntöä ei voida suorittaa loppuun nykyisen resurssin tilan ristiriidan vuoksi.
410 Poistunut . Pyydetty resurssi oli aiemmin olemassa, mutta se on nyt poistettu, eikä sen palauttamista odoteta.
411 Pituus vaaditaan . Palvelin vaatii määrittämään sisällön pituuden pyynnössä; tämän tiedon puuttumista pidetään virheenä.
412 Edellytys epäonnistui . Pyynnön edellytys ei täyty, mikä estää sitä suorittamasta.
413 Hyötykuorma liian suuri . Pyyntödatan koko ylittää palvelimen rajoitukset.
414 URI liian pitkä . Pyynnön URI-pituus ylittää hyväksyttävät rajat.
415 Mediatyyppiä ei tueta . Palvelin ei voi käsitellä pyynnössä annettua tietotyyppiä.
416 Alue ei ole tyydyttävä . HTTP-virhe, jossa pyydetty alue ei vastaa nykyisiä palvelimen tietoja.
417 Odotus epäonnistui . Odotettua ehtoa "Expect"-otsikossa ei täytetty.
418 Olen teekannu . Tämä koodi on vitsi eikä tarkoita käyttäjän tai tarjoilijan tekevän mitään todellista toimenpidettä, eikä se ole täysimittainen virhe. Se osoittaa, että tarjoilija on teekannu eikä pysty keittamaan kahvia.
421 Väärin ohjattu pyyntö . Palvelin ei käsittele pyyntöä pyynnössä tai palvelimen kokoonpanossa olevan virheen vuoksi.
422 Käsittelemätön yksikkö . Palvelin ymmärtää pyynnön, mutta ei käsittele sitä tietovirheiden vuoksi.
423 Lukittu. Resurssi on estetty, eikä sitä voida käsitellä.
424 Riippuvuus epäonnistui . Pyyntö on riippuvainen toisesta suorittamattomasta pyynnöstä.
425 Liian aikaisin. Palvelin ei ole valmis käsittelemään pyyntöä sen aikaisen saapumisen vuoksi.
426 Päivitys vaaditaan . Palvelin vaatii kehittyneemmän protokollan käyttöä pyynnön käsittelyyn.
428 Vaadittu esiehto . Palvelin vaatii tiettyjen esiehtojen määrittämistä pyynnössä.
429 Liikaa pyyntöjä . Asiakas lähetti liian monta pyyntöä lyhyessä ajassa, mikä ylitti palvelimen rajoitukset.
431 Pyynnön otsikkokentät ovat liian suuria . Pyynnön otsikot ylittävät sallitun enimmäiskoon.
449 Yritä uudelleen. Ilmaisee, että nykyinen palvelin ei voi suorittaa pyyntöä, mutta toinen palvelin voi käsitellä sen onnistuneesti, ja asiakkaan tulisi yrittää pyyntöä uudelleen uudella URI:lla.
451 Ei saatavilla oikeudellisista syistä . Lähde ei ole käytettävissä oikeudellisista syistä.
499 Asiakkaan pyyntö suljettu . Palvelin vastaanotti pyynnön, mutta asiakas sulki yhteyden ennen käsittelyn valmistumista.
HTTP 5xx -virhe (palvelinvirheet)
HTTP 5xx -virhekoodit osoittavat palvelinongelmia. Nämä koodit osoittavat palvelinpuolella tapahtuneita ongelmia, joiden vuoksi palvelin ei pysty käsittelemään käyttäjän pyyntöä oikealla tavalla. Katsotaanpa niitä tarkemmin:
HTTP-virhe 500 Sisäinen palvelinvirhe . Palvelin kohtaa odottamattomia olosuhteita, jotka estävät pyynnön suorittamisen. "Palvelin"-otsikko saattaa osoittaa palvelimen, jolla virhe tapahtui.
501 Ei toteutettu . Palvelin ei tue asiakkaan pyynnön käsittelyyn tarvittavaa toiminnallisuutta. "Via"-otsikko saattaa viitata välityspalvelimeen, jonka kautta virhe tapahtui.
502 Virheellinen yhdyskäytävä . Tämä koodi tarkoittaa, että välityspalvelimena toimiva palvelin sai virheellisen vastauksen toiselta palvelimelta.
HTTP- virhe 503 Palvelu ei ole käytettävissä . Palvelin ei tilapäisesti pysty käsittelemään pyyntöjä.
504 Yhdyskäytävän aikakatkaisu . Välityspalvelimena toimiva palvelin ei saanut oikea-aikaista vastausta toiselta palvelimelta.
505 HTTP-versiota ei tueta . Palvelin ei tue pyynnössä määritettyä HTTP-protokollaversiota. Varavaihtoehtona "Päivitys"-otsikko saattaa ilmoittaa tuetut protokollat.
506 Variantti myös neuvottelee . Tätä tilaa ei käytetä HTTP/1.1:ssä; jos palvelin kuitenkin havaitsee sisäisen kokoonpanon, joka aiheuttaa sisällön neuvottelussa epäselvyyttä, se voi käyttää tätä vastausta.
507 Riittämätön tallennustila . Palvelin ei voi täyttää pyyntöä, koska palvelimella ei ole riittävästi tallennustilaa.
508 Silmukka havaittu . Palvelin on havainnut silmukan pyynnön käsittelyn aikana ja kieltäytyy suorittamasta pyyntöä välttääkseen loputtoman silmukan.
509 Kaistanleveysraja ylitetty . Virhe ilmenee, kun palvelimen kaistanleveys ylittyy suuren pyyntö- tai liikennemäärän vuoksi.
510 Ei laajennettu . Asiakkaan on siirrettävä lisää laajennuksia pyynnön jatkamiseksi.
511 Verkon todennus vaaditaan . Asiakkaan on todennettava itsensä voidakseen käyttää verkkoa.
Kuinka tarkistaa sivun tilakoodi
Tässä osiossa tarkastelemme kolmea päätapaa sivun tilakoodin tarkistamiseen: komentorivin kautta, verkkoselaimen avulla ja itsenäisten verkkopalvelujen avulla. Jokaisella näistä menetelmistä on omat etunsa ja ne voivat olla hyödyllisiä eri tilanteissa.
Tarkistetaan palvelimen vastausta komentorivin kautta
Komentorivi tarjoaa kätevän tavan tarkistaa sivun tilakoodi ilman verkkoselaimen käyttöä. Tätä menetelmää varten sinun on avattava komentorivi ja käytettävä komentoa:
curl -I http://page-address
Tämä komento lähettää HEAD-pyynnön (vain otsikot) määritettyyn URL-osoitteeseen ja näyttää tiedot, mukaan lukien HTTP-tilakoodin:
Yllä oleva esimerkki näyttää onnistuneen vastauskoodin. Jos vastaus sisältää virhekoodin, kuten HTTP-virheen 404 Ei löydy, tulos näyttää samalta:
Palvelimen vastauksen tarkistaminen selainkonsolin kautta
Verkkoselaimen kehittäjäkonsoli tarjoaa työkaluja erilaisten toimintojen suorittamiseen, mukaan lukien sivun tilakoodin tarkistamiseen. Jos haluat nähdä HTTP-koodin palvelimen vastauksessa, sinun on avattava kehittäjäkonsoli (Ctrl+Shift+K) tai (Ctrl+Shift+J) käytetystä selaimesta riippuen. Valitse seuraavaksi "verkko" -osio ja lataa haluamasi sivu:
Palvelimen vastauksen tarkistaminen itsenäisillä työkaluilla
On olemassa suuri määrä itsenäisiä verkkopalveluita, jotka tarjoavat työkaluja verkkosivuston tilakoodin tarkistamiseen. Näiden palveluiden avulla saat yleensä nopeasti yleiskuvan resurssisi saatavuudesta ja suorituskyvystä. Ne kaikki toimivat samalla periaatteella. Esimerkkinä tarkastelemme suosituinta resurssia - httpsstatus.io.
Ensinnäkin sinun on avattava itse palvelu, syötettävä sitten sen sivun osoite, johon sinun on löydettävä vastaus, ja pyydettävä vahvistusta:
Tulos näkyy sivun alareunassa:
Yhteenveto
Yhteenvetona on syytä korostaa, että HTTP-virhekoodien ymmärtäminen ja lukeminen on keskeinen taito kaikille verkkokehitykseen ja palvelinten ylläpitoon osallistuville. Kun selvitämme jokaisen virheen ja tutkimme työkaluja niiden havaitsemiseen, näemme syitä, miksi on niin tärkeää hallita näitä verkkopalvelunäkökohtia tehokkaasti.