← Kaikki työkalut

HTTP-tilakoodit selitettynä

Selkeä opas HTTP-tilakoodeihin ja niiden merkitykseen: 200, 301, 404, 500 ja muut, viisi luokkaa sekä vinkkejä hakukoneoptimointiin ja virheenkorjaukseen.

HTTP-tilakoodit selitettynä, 200:sta 503:een

Joka kerta kun selaimesi pyytää jotain web-palvelimelta, palvelin vastaa kolminumeroisella luvulla ennen kuin se lähettää takaisin mitään HTML:ää, kuvaa tai JSON:ia. Tuo luku on HTTP-tilakoodi, ja se on palvelimen lyhyt tapa kertoa, mitä tapahtui: sivu on täällä, se on siirtynyt, sinulla ei ole pääsyä, tai jokin meni rikki meidän puolellamme. Useimmiten et koskaan näe näitä koodeja, koska kaikki toimii ja sivu vain latautuu. Mutta heti kun sivusto käyttäytyy väärin, tilakoodi on ensimmäinen vihje, joka kannattaa lukea.

Luvut eivät ole sattumanvaraisia. Ensimmäinen numero lajittelee jokaisen vastauksen yhteen viidestä perheestä, joten jopa tuntematon koodi kertoo sinulle karkeasti, mikä meni pieleen pelkän ensimmäisen numeronsa perusteella. Opi viisi perhettä, niin voit lukea lähes minkä tahansa vastauksen yhdellä silmäyksellä.

Abstrakti visualisointi web-pyynnöistä ja -vastauksista hehkuvien vihreiden, keltaisten ja punaisten tilavalojen kanssa
Jokainen pyyntö saa yhden vastauksen takaisin: vihreä onnistumiselle, keltainen uudelleenohjaukselle tai odotukselle, punainen virheelle.

Viisi luokkaa

1xx informatiiviset. Palvelin vastaanotti pyyntösi ja työstää sitä yhä. Nämä ovat harvinaisia arkisessa selailussa ja yleensä käsitellään hiljaisesti selaimen ja palvelimen välillä. 100 Continue on klassinen esimerkki, joka kertoo asiakkaalle, että on ok lähettää loppuosa suuresta pyynnön rungosta.

2xx onnistuminen. Pyyntö toimi. 200 OK on se, jonka haluat nähdä koko päivän, tarkoittaen että resurssi löytyi ja on tulossa takaisin. 201 Created ilmestyy, kun lähetät lomakkeen tai API-kutsun, joka luo jotain uutta, ja 204 No Content tarkoittaa, että toiminto onnistui mutta näytettävää ei ole.

3xx uudelleenohjaus. Se, mitä pyysit, asuu muualla, ja selain yleensä seuraa sitä automaattisesti. Uudelleenohjaukset pitävät vanhat linkit hengissä ja ovat tärkeitä hakukonesijoituksen kannalta.

4xx asiakasvirhe. Jokin pyynnössä oli väärin sinun päässäsi: huono URL, puuttuva kirjautuminen tai resurssi, jota ei ole olemassa. Palvelin on terve; se ei vain voi hyväksyä sitä, mitä lähetit.

5xx palvelinvirhe. Pyyntösi oli kunnossa, mutta palvelin kompastui käsitellessään sitä. Nämä osoittavat sivuston infrastruktuuriin, ei sinuun.

Konkreettiset koodit, joita ihmiset oikeasti hakevat

200 OK on selkeä onnistuminen. Sivu tai data latautui odotetusti.

301 Moved Permanently kertoo selaimille ja hakukoneille, että sivulla on uusi pysyvä koti. Tämä on hakukoneystävällinen uudelleenohjaus, koska se siirtää sijoitussignaalit vanhalta URL:lta uudelle. Käytä sitä, kun vaihdat URL:n pysyvästi.

302 Found on väliaikainen uudelleenohjaus. Alkuperäinen URL on yhä se todellinen, joten hakukoneet jatkavat sen indeksointia kohteen sijaan. Käytä 302:ta vain silloin, kun siirto on aidosti lyhytaikainen, kuten käyttäjien ohjaaminen kausiluontoiselle laskeutumissivulle.

304 Not Modified on nopean selailun hiljainen sankari. Se kertoo selaimelle, että sen välimuistissa jo oleva kopio on yhä ajan tasalla, joten palvelin voi jättää tiedoston uudelleenlähettämättä. Vähemmän dataa, nopeammat sivut.

400 Bad Request tarkoittaa, että palvelin ei edes ymmärtänyt pyyntöä, usein virheellisen syntaksin tai virheellisen parametrin vuoksi.

401 Unauthorized tarkoittaa suunnilleen "en tiedä kuka olet, ole hyvä ja tunnistaudu". Sinulta puuttuvat kelvolliset tunnistetiedot.

403 Forbidden on eri asia: palvelin tietää kuka olet ja kieltäytyy silti. Sinulta puuttuu käyttöoikeus, eikä uudelleen kirjautuminen auta.

404 Not Found on kaikkien tunnetuin koodi. Palvelin on elossa ja vastasi sinulle, mutta kyseisessä osoitteessa ei ole mitään. Se johtuu yleensä väärin kirjoitetusta linkistä tai sivusta, joka on poistettu tai siirretty ilman uudelleenohjausta.

429 Too Many Requests tarkoittaa, että sinua on rajoitettu (rate-limited). Lähetit liian monta pyyntöä liian lyhyessä ajassa, ja palvelin pyytää sinua hidastamaan. API:t käyttävät tätä jatkuvasti.

500 Internal Server Error on yleinen "jokin meni rikki" -vastaus. Palvelin törmäsi odottamattomaan tilanteeseen ja luovutti, mutta ei kerro mitä. Tarkista palvelimen lokit.

502 Bad Gateway ilmestyy, kun yksi palvelin, joka toimii yhdyskäytävänä tai välityspalvelimena, saa virheellisen vastauksen sen takana olevalta ylävirran palvelimelta. Usein merkki siitä, että taustajärjestelmä on kaatunut tai tavoittamattomissa.

503 Service Unavailable tarkoittaa, että palvelin on väliaikaisesti ylikuormittunut tai huollon alla. Toisin kuin 500, se viittaa lyhytaikaiseen ongelmaan, ja sivuston pitäisi palautua pian.

Palvelin lähettämässä hehkuvia tilapalloja pitkin datapolkua, kuvastaen HTTP-vastauksia
Pyynnöstä vastaukseen: palvelin merkitsee jokaisen vastauksen koodilla ennen kuin mikään sisältö lähtee talosta.

Mitä tilakoodit tarkoittavat SEO:lle ja debuggaukselle

Hakukonesijoituksen kannalta ero 301:n ja 302:n välillä on se, joka nappaa ihmisiä kiinni. Pysyvän siirron tulisi aina käyttää 301:tä, jotta uusi sivu perii vanhan auktoriteetin; väärässä paikassa oleva 302 voi jättää hakukoneet indeksoimaan alkuperäistä URL:ia ja jakamaan signaalisi. Samaan aikaan suuret määrät 404-virheitä tuhlaavat crawl-budjettia ja turhauttavat kävijöitä, joten kannattaa uudelleenohjata tai korjata rikkinäiset linkit sen sijaan, että jättäisi ne mätänemään.

Debuggauksen kannalta perhe kertoo, mistä katsoa. 4xx osoittaa pyyntöön, joten tarkista URL, otsikot ja tunnistetiedot. 5xx osoittaa palvelimeen, joten tarkista sovelluslokit, ylävirran palvelut ja meniikö juuri tehty julkaisu pieleen. Aalto 502- ja 503-virheitä tarkoittaa usein, että taustajärjestelmä on alhaalla tai ylikuormittunut, ei koodivirhettä. Voit tarkistaa sivuston palauttaman tarkan tilan kehittäjätyökaluillamme, ja kun 5xx näyttää yhteysongelmalta pikemminkin kuin sovellusvirheeltä, nopea DNS-haku voi vahvistaa, että domain yhä osoittaa oikeaan osoitteeseen.

Usein kysytyt kysymykset

Onko 404-virhe huono sivustolleni?

Muutama 404 on normaalia ja harmitonta. Ongelmat alkavat, kun suositut sivut palauttavat 404:n tai kun rikkinäiset sisäiset linkit kasautuvat, tuhlaten crawl-budjettia ja turhauttaen kävijöitä. Uudelleenohjaa siirretyt sivut ja korjaa huonot linkit.

Mitä eroa on 301- ja 302-uudelleenohjauksella?

301 on pysyvä ja siirtää sijoitussignaalit uudelle URL:lle, joten käytä sitä, kun sivu siirtyy pysyvästi. 302 on väliaikainen ja pitää alkuperäisen URL:n indeksoituna, joten käytä sitä vain lyhytaikaisiin siirtoihin.

Mitä eroa on 401:llä ja 403:lla?

401 tarkoittaa, ettet ole tunnistautunut, joten kirjautuminen saattaa korjata sen. 403 tarkoittaa, että palvelin tunnistaa sinut mutta silti kieltää pääsyn, koska sinulta puuttuu käyttöoikeus, joten uudelleen kirjautuminen ei auta.

Mitä 500-virhe tarkoittaa ja miten korjaan sen?

500 Internal Server Error tarkoittaa, että palvelin törmäsi odottamattomaan häiriöön käsitellessään pyyntöäsi. Viesti on tarkoituksella yleinen, joten korjaus alkaa yleensä palvelimen lokien lukemisesta todellisen syyn löytämiseksi.

Miksi saan 429-tilakoodin?

429 Too Many Requests tarkoittaa, että sinua on rajoitettu liian nopean pyyntöjen lähettämisen vuoksi. Hidasta, kunnioita mahdollista Retry-After-otsaketta, jonka palvelin palauttaa, ja lisää viivytystä skripteihin ja API-asiakkaisiin.

Mitä 503 Service Unavailable tarkoittaa?

503 tarkoittaa, että palvelin ei väliaikaisesti pysty käsittelemään pyyntöä, yleensä ylikuormituksen tai suunnitellun huollon vuoksi. Se viittaa lyhytaikaiseen ongelmaan, joten sivuston pitäisi toipua itsestään pian.