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 Jatka. HTTP-vastauskoodi, jossa palvelin antaa käyttäjälle vihreän valon, jolloin hän voi turvallisesti jatkaa suuren pyynnön lähettämistä.
101 Kytkentäprotokollat. Palvelin kertoo asiakkaalle muuttavansa pelisääntöjä, esimerkiksi siirtymässä HTTP:stä turvallisempaan HTTPS:ään. Tässä tapauksessa "Upgrade"-otsikkoa käytetään protokollan vaihtamiseen.
102-käsittely. Tämä koodi on kuin viesti siitä, että palvelin on hyväksynyt pyynnön, mutta on edelleen kiireinen monimutkaisen toiminnon kanssa.
103 Varhaisia vinkkejä. Tässä palvelin lähettää asiakkaalle useita suuntaa antavia otsikoita ennen päävastausta varoittaen jostain, mikä saattaa olla merkityksellistä 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 pyynnön GET-menetelmällä ilman ongelmia ja palauttaa pyydetyt tiedot vastauksena. "Content-Type"-otsikko ilmoittaa vastauksen sisältö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 kestää jonkin aikaa vastata.
203 Ei-viralliset tiedot. Tämä koodi antaa 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 lisäsisältöä.
205 Palauta sisältö. Täällä asiakasta kehotetaan nollaamaan 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 suorittanut onnistuneesti monitoimipyynnön asiakkaalta, ja vastaus sisältää tiedot kunkin toiminnon tilasta.
226 IM käytetty. Tämä koodi osoittaa, että palvelin käytti Incremental Metadata (IM) -menetelmää ja vastasi välittämällä vain muokatut resurssiosat asiakkaalle.
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 monivalintavaihtoehtoa. Asiakas saa signaalin, että resurssilla on useita mahdollisia paikkoja, ja hänelle annetaan vastauksena valinta. Nykyisissä olosuhteissa "Sijainti"-otsikko voi osoittaa vaihtoehtoisia vaihtoehtoja resurssille.
301 Muutti pysyvästi. Palvelin raportoi käyttäjälle, että resurssi on siirretty pysyvästi toiseen paikkaan.
302 Todettu. Tämä HTTP-koodi on samanlainen kuin väliaikainen uudelleenohjaus. Palvelin ilmoittaa kuluttajalle, että resurssi on tilapäisesti saatavilla eri URL-osoitteesta. "Sijainti"-otsikko osoittaa väliaikaisen uudelleenohjauksen uuteen URL-osoitteeseen.
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 muutettu. Tämä tila kertoo asiakkaalle, että resurssi on pysynyt muuttumattomana edellisen 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 itse asiassa sitä ei käytetä.
307 Väliaikainen uudelleenohjaus. Tämä koodi on samanlainen kuin 302 Found, mutta edellyttää, että asiakas pysyy alkuperäisessä pyynnössä käytetyssä pyyntömenetelmässä.
308 Pysyvä uudelleenohjaus. Osoittaa, että resurssi on siirtynyt pysyvästi uuteen URI:hen ja asiakkaan tulee käyttää uutta URI:tä 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 Bad Request. 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 Maksua vaaditaan. Koodi ei ole tällä hetkellä aktiivinen ja on varattu tulevaa käyttöä varten. Se voi tarkoittaa tarvetta maksaa ennen resurssin käyttöä tulevaisuudessa.
HTTP-virhe 403 kielletty. Asiakkaalla ei ole riittäviä oikeuksia käyttää pyydettyä resurssia.
404 ei löydetty. Pyydettyä resurssia ei ole palvelimella. Tämä on yksi yleisimmistä käyttäjän virheistä.
405-menetelmä ei ole sallittu. Palvelin ei tue määritettyä pyyntömenetelmää tämän resurssin aikana. "Salli"-otsikko ilmaisee resurssin sallitut menetelmät. Tällä koodilla
406 Ei hyväksyttävää. Palvelin ei voi toimittaa tietoja sellaisessa muodossa, jonka asiakas voi hyväksyä.
407 Välityspalvelimen todennus vaaditaan. Pyydetyn resurssin käyttö edellyttää välityspalvelimen todennusta.
408 Pyydä aikakatkaisua. Palvelin odotti pyyntöä asiakkaalta, mutta aikakatkaistiin. "Retry-After" -otsikko voi ilmoittaa ajan, jonka jälkeen pyyntöä voidaan yrittää uudelleen.
409 Konflikti. Pyyntöä ei voida suorittaa loppuun, koska se on ristiriidassa nykyisen resurssin tilan kanssa.
410 Poissa. Pyydetty resurssi oli aiemmin olemassa, mutta se on nyt poistettu, eikä sen palauttamista odoteta.
411 Vaadittu pituus. Palvelin vaatii määrittämään sisällön pituuden pyynnössä; näiden tietojen puuttumista pidetään virheenä.
412 Edellytys epäonnistui. Pyynnön ehto ei täyty, mikä estää sen suorittamisen.
413 Hyötykuorma on liian suuri. Pyyntötietojen koko ylittää palvelinrajat.
414 URI liian pitkä. Pyynnön URI-pituus ylittää hyväksyttävät rajat.
415 Ei tuettu mediatyyppi. Palvelin ei voi käsitellä pyynnössä annettua tietotyyppiä.
416 Alue ei tyydyttävä. HTTP-virhe, jossa pyydetty alue ei vastaa nykyisiä palvelintietoja.
417 Odotus epäonnistui. Odotettu ehto "Odota"-otsikossa ei täyttynyt.
418 Olen teekannu. Tämä koodi on sisällytetty vitsinä, eikä se tarkoita mitään todellista toimintaa käyttäjälle tai palvelimelle, eikä se ole täysi virhe. Se osoittaa, että palvelin on teekannu, eikä se pysty keittämään kahvia.
421 väärin johdettu pyyntö. Palvelin ei käsittele pyyntöä pyynnön tai palvelimen määrityksen virheen vuoksi.
422 Käsittelemätön kokonaisuus. Palvelin ymmärtää pyynnön, mutta ei käsittele sitä tietovirheiden vuoksi.
423 Lukittu. Resurssi on estetty, eikä sitä voida käsitellä.
424 Epäonnistunut riippuvuus. Pyyntö riippuu toisesta toteuttamattomasta pyynnöstä.
425 Liian aikaista. Palvelin ei ole valmis käsittelemään pyyntöä sen aikaisen saapumisen vuoksi.
426 Päivitys vaaditaan. Palvelin vaatii edistyneemmän protokollan käyttöä pyynnön käsittelemiseksi.
428 Edellytys. Palvelin vaatii tiettyjen edellytysten määrittämistä pyynnössä.
429 Liian monta pyyntöä. Asiakas lähetti liian monta pyyntöä lyhyessä ajassa ylittäen palvelimen rajat.
431 Pyynnön otsikkokentät liian suuret. Pyynnön otsikot ylittävät suurimman sallitun koon.
449 Yritä uudelleen. Osoittaa, että nykyinen palvelin ei voi suorittaa pyyntöä, mutta toinen palvelin voi käsitellä sen onnistuneesti, ja asiakkaan tulee yrittää pyyntöä uudelleen uudella URI:lla.
451 Ei saatavilla oikeudellisista syistä. Resurssi ei ole käytettävissä juridisista syistä.
499 Asiakas suljettu pyyntö. 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 Error 500 Sisäinen palvelinvirhe. Palvelin kohtaa odottamattomia olosuhteita, jotka estävät sitä suorittamasta pyyntöä loppuun. "Palvelin"-otsikko voi ilmoittaa palvelimen, jossa virhe tapahtui.
501 Ei toteutettu. Palvelin ei tue asiakkaan pyynnön käsittelyyn tarvittavia toimintoja. "Via"-otsikko voi osoittaa välityspalvelimen, jonka kautta virhe tapahtui.
502 Bad Gateway. Tämä koodi tarkoittaa, että välityspalvelimena toimiva palvelin sai väärän 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-protokollan versiota. Varavaihtoehtona "Päivitä"-otsikko voi osoittaa tuetut protokollat.
506 Variant neuvottelee myös. Tätä tilaa ei käytetä HTTP/1.1:ssä; Jos palvelin kuitenkin havaitsee sisäisen kokoonpanon, joka johtaa sisällön neuvottelujen epäselvyyteen, se voi käyttää tätä vastausta.
507 Riittämätön tallennustila. Palvelin ei voi täyttää pyyntöä, koska palvelimella ei ole tarpeeksi tallennustilaa.
508 Silmukka havaittu. Palvelin on havainnut silmukan pyyntöä käsitellessään ja kieltäytyy suorittamasta pyyntöä loppuun välttääkseen loputtoman silmukan.
509 Kaistanleveysraja ylitetty. Virhe ilmenee, kun palvelimen kaistanleveys ylittyy suuren pyyntöjen tai liikenteen vuoksi.
510 Ei laajennettu. Asiakkaan on siirrettävä lisälaajennuksia jatkaakseen pyyntöä.
511 Verkkotodennus vaaditaan. Asiakkaan on tunnistettava itsensä päästäkseen verkkoon.
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ä riippumattomia verkkopalveluita, jotka tarjoavat työkaluja verkkosivuston sivun tilakoodin tarkistamiseen. Näiden palvelujen avulla saat yleensä nopeasti yleiskatsauksen resurssi saatavuudesta ja suorituskyvystä. Ne kaikki toimivat samalla periaatteella. Esimerkkinä harkitsemme 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.