A webfejlesztés világában a HTTP hibakódok létfontosságú szerepet játszanak a felhasználói élmény és a webhely hírnevének befolyásolásában. Ebben a cikkben megvizsgáljuk a szerverhibakódok teljes listáját, elemezzük a jelentésüket, és megtanuljuk, hogyan kell hatékonyan értelmezni a szerver válaszkódjait a problémák megoldása és a webalkalmazások teljesítményének optimalizálása érdekében.
Mi az a HTTP válaszkód
A HTTP-válaszkód a webszerverek nyelve, amely a böngészőkéréseket érthető utasításokká fordítja le. Olyan ez, mint egy költő, aki virtuális kérdésekre válaszol, értelmet és irányt ad nekik. A válaszkódok nem mindig HTTP hibakódok. Például a „200 OK” azt jelenti, hogy minden rendben van, de a HTTP hiba „404 nem található” azt jelenti, hogy az oldal elveszett a virtuális térben. Minden kód a szerver állapotának egyedi kifejezése, amelynek dekódolása lehetővé teszi, hogy megértsük, mi történik a virtuális világ másik oldalán.
1xx kódok (információ)
Az 1xx állapotkódok a HTTP protokollban egyfajta első hivatkozást jelentenek a szerver és a kliens közötti párbeszédben. Ahelyett, hogy egy kérésre teljes körű választ adnának, az aktuális állapotról adnak tájékoztatást, hatékonyabbá téve az adatcserét. Nézzük meg őket közelebbről:
100 Folytatás . HTTP válaszkód, amelyben a szerver zöld utat ad a felhasználónak, lehetővé téve számára a nagy kérések küldésének biztonságos folytatását.
101 Protokollváltás . A szerver közli a klienssel, hogy megváltoztatja a játékszabályokat, például HTTP-ről a biztonságosabb HTTPS-re vált. Ebben az esetben a „Frissítés” fejlécet használják a protokollváltáshoz.
102 Feldolgozás . Ez a kód egy üzenethez hasonló, amely szerint a szerver elfogadta a kérést, de még mindig egy összetett művelettel van elfoglalva.
103 Korai tippek . Itt a szerver több indikatív fejlécet küld a kliensnek a fő válasz előtt, figyelmeztetve valamire, ami a közeljövőben releváns lehet.
2xx kód (sikeres)
A 2xx csoport HTTP hibakódjai sikeres kérést jeleznek a szervertől. Lényegében „zöld lámpaként” működnek a webes kommunikáció területén, megerősítve, hogy minden a tervek szerint halad és sikeresen befejeződött.
200 OK . Ez az állapot akkor használatos, ha a szerver problémamentesen feldolgoz egy GET metódussal küldött kérést, és válaszként visszaadja a kért adatokat. A "Content-Type" fejléc a válaszban szereplő tartalomtípust mutatja. Ez csupán arról tájékoztatja a klienst, hogy a kérés sikeres volt.
201 Létrehozva . Itt a szerver bejelenti egy új erőforrás létrehozását.
202 Elfogadva . A szerver értesíti a felhasználót a kérés elfogadásáról, de a válaszadás időbe telik.
203 Nem hiteles információ . Ez a kód olyan adatokat biztosít az ügyfél számára, amelyek nem hivatalosak, de összehasonlításra használhatók.
204 Nincs tartalom . A szerver feldolgozta a kérést, de nem adott vissza további tartalmat.
205 Tartalom visszaállítása . Itt a kliens utasítást kap az aktuális nézet vagy adatok visszaállítására a küldés után.
206 Részleges tartalom . Ez az eset azt jelzi, hogy a válasz a kért tartalomnak csak egy részét tartalmazza. A „Content-Range” fejléc a részleges tartalomtartományt jelzi.
207 Többállapotú hiba. A szerver sikeresen befejezte a klienstől érkező többműveletes kérést, és a válasz információkat tartalmaz az egyes műveletek állapotáról.
226 IM használatban . Ez a kód azt jelzi, hogy a szerver az Incremental Metadata (IM) metódust használta, és csak a módosított erőforrás-részeket adta át a kliensnek.
3xx kódok (átirányítások)
A HTTP protokoll 3xx kódjai olyan mutatók, amelyek a felhasználót egy új erőforrás helyre irányítják. Tájékoztatják az ügyfelet, hogy további lépéseket kell tenni a kért tartalom megszerzéséhez vagy egy másik erőforráshoz való átirányításhoz. Merüljünk el mindegyik részleteiben:
300 Többszörös választási lehetőség . Az ügyfél jelzést kap arról, hogy az erőforrásnak több lehetséges helye is van, és válaszul választási lehetőséget kap. Jelenlegi körülmények között a „Hely” fejléc alternatív lehetőségeket jelezhet az erőforráshoz.
301 Véglegesen áthelyezve. A szerver jelenti a felhasználónak, hogy az erőforrás véglegesen áthelyezve egy másik helyre.
302-es hiba . Ez a HTTP kód hasonló egy ideiglenes átirányításhoz. A szerver tájékoztatja a felhasználót, hogy az erőforrás ideiglenesen elérhető egy másik URL-címen. A „Location” fejléc az ideiglenes átirányítás új URL-címére mutat.
303 Lásd: Egyéb . A kliensnek azt mondják, hogy az erőforrás egy másik URL-címen érhető el, és GET kérést kell küldenie erre az új címre.
304 Nem módosított . Ez az állapot azt jelzi az ügyfélnek, hogy az erőforrás változatlan maradt az utolsó kérés óta, és nem kell újra letölteni. Kérés küldésekor az „If-Modified-Since” fejléc ellenőrzi, hogy az erőforrás módosult-e.
305 Proxy használata. Válaszként a szerver azt jelenti, hogy a megadott proxyt kell használnia a kért erőforrás eléréséhez.
306 (foglalt) – A kód le van foglalva, de valójában nincs használatban.
307 Ideiglenes átirányítás . Ez a kód hasonló a 302 Found kódhoz, de megköveteli, hogy az ügyfél az eredeti kérésben használt kérésmetódusban maradjon.
308 Állandó átirányítás . Azt jelzi, hogy az erőforrás véglegesen áthelyezésre került egy új URI-ra, és az ügyfélnek az új URI-t kell használnia minden jövőbeli kéréshez.
4xx HTTP hiba (kliens hibák)
A HTTP 4xx hibakódok az ügyfélhibákat jelzik. Ez azt jelenti, hogy a probléma a felhasználói oldalon van, például a webböngészőben vagy az alkalmazásban.
400 Hibás kérés . A szerver szintaktikai hibák, érvénytelen adatok vagy egyéb kliensoldali hibák miatt nem tudja feldolgozni a kérést.
401 Jogosulatlan. A szerver szintaktikai hibák, érvénytelen adatok vagy egyéb kliensoldali hibák miatt nem tudja feldolgozni a kérést.
402 Fizetés szükséges . A kód jelenleg nem aktív, és későbbi használatra van fenntartva. Ez jelezheti, hogy a jövőben fizetni kell az erőforrás eléréséhez.
403-as HTTP-hiba – Tiltott. Az ügyfél nem rendelkezik elegendő jogosultsággal a kért erőforrás eléréséhez.
404 Nem található. A kért erőforrás nem létezik a szerveren. Ez az egyik leggyakoribb felhasználói hiba.
405-ös hiba: A metódus nem engedélyezett . A szerver nem támogatja a megadott kérésmetódust ebben az erőforrásban. Az „Allow” fejléc jelzi az erőforráshoz engedélyezett metódusokat. Ezzel a kóddal,
406 Nem elfogadható. A szerver nem tud olyan formátumban adatokat biztosítani, amelyet a kliens elfogadna.
407-es hiba Proxy hitelesítés szükséges . A kért erőforrás eléréséhez hitelesítés szükséges a proxy szerveren.
408-as hiba: Kérés időtúllépése . A szerver várt egy kérésre a klienstől, de időtúllépés történt. A „Retry-After” fejléc jelezheti azt az időt, amely elteltével a kérés újrapróbálkozhat.
409-es hiba. A kérés nem hajtható végre az aktuális erőforrás-állapottal való ütközés miatt.
410 Eltűnt . A kért erőforrás korábban létezett, de most törölték, és a visszaállítása nem várható.
411 Kötelező hossz . A szerver kéri a tartalom hosszának megadását a kérésben; ezen információ hiányát hibának tekinti a rendszer.
412 Előfeltétel sikertelen . A kérésben szereplő előfeltétel nem teljesül, ami megakadályozza a végrehajtását.
413 Túl nagy adatmennyiség . A kérés adatainak mérete meghaladja a szerver korlátait.
414 Túl hosszú URI . A kérésben szereplő URI hossza meghaladja az elfogadható korlátokat.
415 Nem támogatott médiatípus . A szerver nem tudja feldolgozni a kérésben megadott adattípust.
416 Tartomány nem kielégítő . HTTP hiba, ahol a kért tartomány nem egyezik az aktuális szerveradatokkal.
417-es hiba: A várt feltétel nem teljesült . A „Várható” fejlécben szereplő várt feltétel nem teljesült.
418 Teáskanna vagyok . Ez a kód viccből lett beillesztve, és nem utal semmilyen valós műveletre sem a felhasználó, sem a szerver részéről, és nem is teljes értékű hiba. Azt jelzi, hogy a szerver egy teáskanna, és nem képes kávét főzni.
421 Rosszul irányított kérés . A szerver nem dolgozza fel a kérést a kérésben vagy a szerver konfigurációjában lévő hiba miatt.
422 Feldolgozhatatlan entitás . A szerver megérti a kérést, de adathibák miatt nem dolgozza fel.
423 Zárolva. Az erőforrás blokkolva van, és nem dolgozható fel.
424 Sikertelen függőség . A kérés egy másik, nem végrehajtott kéréstől függ.
425 Túl korai. A szerver nem áll készen a kérés feldolgozására, mivel az korán érkezett.
426 Frissítés szükséges . A szerver egy fejlettebb protokoll használatát igényli a kérés feldolgozásához.
428 Előfeltétel szükséges . A szerver bizonyos előfeltételek megadását követeli meg a kérésben.
429 Túl sok kérés . Az ügyfél túl sok kérést küldött rövid idő alatt, meghaladva a szerver korlátait.
431 A kérés fejléc mezői túl nagyok . A kérés fejlécei meghaladják a megengedett maximális méretet.
449 Újrapróbálkozás ezzel. Azt jelzi, hogy a kérést az aktuális szerver nem tudja futtatni, de egy másik szerver sikeresen feldolgozhatja, és az ügyfélnek újra kell próbálkoznia a kéréssel egy új URI-val.
451 Jogi okok miatt nem érhető el . A forrás jogi okokból nem érhető el.
499 Ügyfél lezárt kérés . A szerver megkapta a kérést, de az ügyfél a feldolgozás befejezése előtt lezárta a kapcsolatot.
HTTP 5xx hiba (szerverhibák)
A HTTP 5xx hibakódok a szerverproblémákat jelzik. Ezek a kódok a szerver oldalon fellépő problémákat jeleznek, ami miatt a szerver nem tudja megfelelően feldolgozni a felhasználó kérését. Nézzük meg őket közelebbről:
HTTP hiba 500 Belső szerverhiba . A szerver váratlan körülményekbe ütközik, amelyek megakadályozzák a kérés végrehajtását. A „Server” fejléc jelezheti azt a szervert, amelyen a hiba történt.
501 Nincs megvalósítva . A szerver nem támogatja az ügyfél kérésének feldolgozásához szükséges funkciókat. A „Via” fejléc jelezheti azt a proxy szervert, amelyen keresztül a hiba történt.
502 Hibás átjáró . Ez a kód azt jelenti, hogy a proxyként működő szerver helytelen választ kapott egy másik szervertől.
HTTP hiba 503 Szolgáltatás nem elérhető . A szerver átmenetileg nem tudja feldolgozni a kéréseket.
504-es hiba: Átjáró időtúllépése . A proxyként működő szerver nem kapott időben választ egy másik szervertől.
505 A HTTP verzió nem támogatott . A szerver nem támogatja a kérésben megadott HTTP protokoll verzióját. Tartalék opcióként a „Frissítés” fejléc jelezheti a támogatott protokollokat.
506-os változat is tárgyal . Ez az állapot nem használatos a HTTP/1.1 protokollban; azonban ha a szerver olyan belső konfigurációt észlel, amely tartalomegyeztetési bizonytalanságot eredményez, akkor ezt a választ használhatja.
507 Nincs elég tárhely . A szerver nem tudja teljesíteni a kérést, mert nincs elég tárhely a szerveren.
508-as hiba . A szerver hurkot észlelt a kérés feldolgozása közben, és a végtelen ciklus elkerülése érdekében megtagadja a kérés végrehajtását.
509 Sávszélesség-korlát túllépése . A hiba akkor jelentkezik, ha a szerver sávszélessége túllépésre kerül a kérések vagy a forgalom nagy száma miatt.
510 Nincs kiterjesztve . A kliensnek további mellékeket kell átvinnie a kérés folytatásához.
511 Hálózati hitelesítés szükséges . A kliensnek hitelesítenie kell magát a hálózathoz való hozzáféréshez.
Az oldal állapotkódjának ellenőrzése
Ebben a részben az oldal állapotkódjának ellenőrzésének három fő módját vizsgáljuk meg: parancssoron keresztül, webböngésző használatával és független online szolgáltatások használatával. Ezen módszerek mindegyikének megvannak a maga előnyei, és különböző helyzetekben hasznosak lehetnek.
Szerver válaszának ellenőrzése parancssoron keresztül
A parancssor kényelmes módot biztosít az oldal állapotkódjának webböngésző használata nélkül történő ellenőrzésére. Ehhez a módszerhez meg kell nyitnia a parancssort, és a következő parancsot kell használnia:
curl -I http://page-address
Ez a parancs HEAD kérést küld (csak fejlécek kérése) a megadott URL-re, és információkat jelenít meg, beleértve a HTTP állapotkódot:
A fenti példa egy sikeres válaszkódot mutat be. Hibakódot tartalmazó válasz esetén, például 404-es HTTP-hiba, az eredmény hasonlóan fog kinézni:
A szerver válaszának ellenőrzése a böngészőkonzolon keresztül
A webböngésző fejlesztői konzolja eszközöket biztosít különféle műveletek elvégzéséhez, beleértve az oldal állapotkódjának ellenőrzését. A HTTP-kód megjelenítéséhez a szerver válaszában meg kell nyitnia a fejlesztői konzolt (Ctrl+Shift+K) vagy (Ctrl+Shift+J) a használt böngészőtől függően. Ezután válassza ki a „hálózat” részt, és töltse be a kívánt oldalt:
A szerver válaszának ellenőrzése független eszközökkel
Számos független online szolgáltatás kínál eszközöket a weboldal állapotkódjának ellenőrzésére. Ezek a szolgáltatások általában lehetővé teszik, hogy gyorsan áttekintést kapjon az erőforrás elérhetőségéről és teljesítményéről. Mindegyik ugyanazon az elven működik. Példaként a legnépszerűbb erőforrást vesszük figyelembe - httpsstatus.io.
Először is meg kell nyitnia magát a szolgáltatást, majd meg kell adnia annak az oldalnak a címét, amelyre választ kell találnia, és kérnie kell az ellenőrzést:
Az eredmény az oldal alján jelenik meg:
Összegzés
Végezetül hangsúlyozni kell, hogy a HTTP-hibakódok megértése és elolvasása kulcsfontosságú mindenki számára, aki webfejlesztéssel és szerverkarbantartással foglalkozik. Amint kitaláljuk az egyes hibákat, és feltárjuk az észlelésükhöz szükséges eszközöket, meglátjuk, miért olyan fontos ezeknek a webszolgáltatási szempontoknak a hatékony kezelése.