HTTP státuszkódok magyarázata, 200-tól 503-ig
Minden alkalommal, amikor a böngésződ kér valamit egy webszervertől, a szerver egy háromjegyű számmal válaszol, mielőtt bármilyen HTML-t, képet vagy JSON-t visszaküldene. Ez a szám a HTTP státuszkód, és ez a szerver rövid módja annak, hogy elmondja, mi történt: az oldal itt van, elköltözött, nem léphetsz be, vagy valami elromlott a mi oldalunkon. A legtöbbször soha nem látod ezeket a kódokat, mert minden működik, és az oldal egyszerűen betöltődik. De abban a pillanatban, amikor egy site rosszul viselkedik, a státuszkód az első nyom, amit érdemes elolvasni.
A számok nem véletlenszerűek. Az első számjegy minden választ öt család egyikébe sorol, így még egy ismeretlen kód is nagyjából elárulja, mi ment félre, pusztán a kezdő számjegyéből. Tanuld meg az öt családot, és szinte bármelyik választ egy pillantással elolvashatod.

Az öt osztály
1xx tájékoztató. A szerver megkapta a kérésedet, és még dolgozik rajta. Ezek ritkák a mindennapi böngészésben, és általában csendben zajlanak a böngésző és a szerver között. A 100 Continue a klasszikus példa, amely megmondja egy kliensnek, hogy nyugodtan elküldheti a nagy kéréstörzs hátralévő részét.
2xx siker. A kérés sikerült. A 200 OK az, amit egész nap látni szeretnél, ez jelenti, hogy az erőforrás megtalálható, és úton van vissza hozzád. A 201 Created akkor jelenik meg, amikor egy űrlapot vagy API-hívást küldesz be, amely valami újat hoz létre, a 204 No Content pedig azt jelenti, hogy a művelet sikerült, de nincs mit megjeleníteni.
3xx átirányítás. Amit kértél, máshol található, és a böngésző általában automatikusan követi. Az átirányítások életben tartják a régi linkeket, és sokat számítanak a keresési rangsorolás szempontjából is.
4xx kliensoldali hiba. Valami a kérésben nálad volt hibás: rossz URL, hiányzó bejelentkezés, vagy egy nem létező erőforrás. A szerver egészséges; egyszerűen nem tudja elfogadni, amit küldtél.
5xx szerveroldali hiba. A kérésed rendben volt, de a szerver megbotlott a feldolgozás közben. Ezek a site infrastruktúrájára mutatnak, nem rád.
A konkrét kódok, amiket az emberek valóban felkeresnek
A 200 OK egyszerű siker. Az oldal vagy az adat a várt módon betöltődött.
A 301 Moved Permanently megmondja a böngészőknek és a keresőmotoroknak, hogy egy oldalnak új, végleges otthona van. Ez a SEO-barát átirányítás, mert átadja a rangsorolási jeleket a régi URL-ről az újra. Akkor használd, ha egy URL-t véglegesen megváltoztatsz.
A 302 Found egy ideiglenes átirányítás. Az eredeti URL még mindig a valódi, így a keresőmotorok azt indexelik tovább, nem a célt. Csak akkor nyúlj a 302-höz, ha a költözés valóban rövid életű, például szezonális landing oldalra irányítod a felhasználókat.
A 304 Not Modified a gyors böngészés csendes hőse. Megmondja a böngészőnek, hogy a gyorsítótárában már ott lévő másolat még mindig aktuális, így a szerver kihagyja a fájl újraküldését. Kevesebb adat, gyorsabb oldalak.
A 400 Bad Request azt jelenti, hogy a szerver már a kérést sem tudta értelmezni, gyakran hibás szintaxis vagy érvénytelen paraméter miatt.
A 401 Unauthorized nagyjából azt jelenti: "nem tudom, ki vagy, kérlek hitelesítsd magad." Hiányoznak az érvényes hitelesítő adataid.
A 403 Forbidden más eset: a szerver tudja, ki vagy, és mégis elutasít. Nincs jogosultságod, és az újbóli bejelentkezés nem segít.
A 404 Not Found a leghíresebb kód mind közül. A szerver él, és válaszolt neked, de azon a címen nincs semmi. Általában egy elgépelt linkből vagy egy törölt, illetve átirányítás nélkül elköltöztetett oldalból ered.
A 429 Too Many Requests azt jelenti, hogy sebességkorlátozás alá kerültél. Túl sok kérést küldtél túl rövid idő alatt, és a szerver arra kér, hogy lassíts. Az API-k folyamatosan használják ezt.
Az 500 Internal Server Error az általános "valami elromlott" válasz. A szerver egy váratlan helyzetbe futott, és feladta, de nem mondja meg, mi volt az. Nézd meg a szerver naplóit.
Az 502 Bad Gateway akkor jelenik meg, amikor egy szerver, amely átjáróként vagy proxyként működik, érvénytelen választ kap egy mögötte lévő upstream szervertől. Gyakran annak a jele, hogy egy backend alkalmazás összeomlott vagy elérhetetlen.
Az 503 Service Unavailable azt jelenti, hogy a szerver ideiglenesen túlterhelt vagy karbantartás miatt nem elérhető. Az 500-tól eltérően ez azt sugallja, hogy a probléma rövid távú, és a site hamarosan visszatér.

Mit jelentenek a státuszkódok a SEO és a debuggolás szempontjából
A keresési rangsorolás szempontjából a 301 és a 302 közti különbség az, amin sokan elcsúsznak. Egy végleges költözéshez mindig 301-et kell használni, hogy az új oldal örökölje a régi tekintélyét; egy rossz helyre tett 302 hagyhatja, hogy a keresőmotorok az eredeti URL-t indexeljék, és megosztva a jeleket. Eközben a 404-ek nagy száma pazarolja a crawl-keretet, és frusztrálja a látogatókat, ezért érdemes az elrothadás helyett átirányítani vagy javítani a törött linkeket.
Debuggoláshoz a család megmutatja, merre keress. A 4xx a kérésre mutat, így ellenőrizd az URL-t, a fejléceket és a hitelesítő adatokat. Az 5xx a szerverre mutat, így ellenőrizd az alkalmazásnaplókat, az upstream szolgáltatásokat, és hogy nemrég ment-e valami félre egy deploynál. Egy hullámnyi 502 és 503 gyakran azt jelenti, hogy egy backend leállt vagy túlterhelt, nem hogy kódhiba lenne. A pontos státuszt, amit egy site visszaad, megvizsgálhatod fejlesztői eszközeinkkel, és amikor egy 5xx inkább kapcsolódási problémának tűnik, mint alkalmazáshibának, egy gyors DNS-lekérdezés megerősítheti, hogy a domain még mindig a megfelelő címre mutat.
Gyakran ismételt kérdések
Rossz a 404-es hiba a weboldalamnak?
Néhány 404 normális és ártalmatlan. A problémák akkor kezdődnek, amikor népszerű oldalak adnak vissza 404-et, vagy amikor törött belső linkek halmozódnak fel, pazarolva a crawl-keretet és frusztrálva a látogatókat. Irányítsd át az elköltözött oldalakat, és javítsd ki a rossz linkeket.
Mi a különbség a 301-es és a 302-es átirányítás között?
A 301 végleges, és átadja a rangsorolási jeleket az új URL-nek, ezért akkor használd, ha egy oldal véglegesen elköltözik. A 302 ideiglenes, és megtartja az eredeti URL indexelését, ezért csak rövid életű költözésekhez használd.
Mi a különbség a 401 és a 403 között?
A 401 azt jelenti, hogy még nem hitelesítetted magad, így a bejelentkezés megoldhatja. A 403 azt jelenti, hogy a szerver felismer, de mégis megtagadja a hozzáférést, mert nincs jogosultságod, így az újbóli bejelentkezés nem segít.
Mit jelent az 500-as hiba, és hogyan javítható?
Az 500 Internal Server Error azt jelenti, hogy a szerver egy váratlan hibába ütközött a kéréseid feldolgozása közben. Az üzenet szándékosan általános, ezért a javítás rendszerint a szerver naplóinak átolvasásával kezdődik, hogy megtaláld a valódi okot.
Miért kapok 429-es státuszkódot?
A 429 Too Many Requests azt jelenti, hogy sebességkorlátozás alá kerültél, mert túl gyorsan küldtél kéréseket. Lassíts, vedd figyelembe a szerver által visszaadott Retry-After fejlécet, és adj hozzá visszaléptető logikát a szkriptjeidhez és API-klienseidhez.
Mit jelent az 503 Service Unavailable?
Az 503 azt jelenti, hogy a szerver ideiglenesen nem tudja kezelni a kérést, általában túlterhelés vagy tervezett karbantartás miatt. Rövid távú problémát jelez, így a site magától is helyreállhat hamarosan.
