Ez a szócikk a HTTP (az angol Hypertext Transfer Protocol rövidítése) állapotkódjainak listája. Tartalmazza a szabványos kódokat, valamint néhány nem szabványos, de használatban lévő kódot is.
A HTTP-állapotkódokat a kliens kérésére adott válasz első sora tartalmazza.
Az állapotkódok 3 számjegyből állnak, az első számjegy utal a tartalmukra, ez a számjegy 1-től 5-ig terjedhet. Ez alapján a következő csoportjai vannak az állapotkódoknak:
1xx – tájékoztató információk: A kérést megkapta a szerver, feldolgozás következik 2xx – sikeres kérés: A kérést sikeresen megkapta, elfogadta, megértette a szerver. 3xx – átirányítás: További tevékenységekre van szükség a kérés befejezéséhez. 4xx – klienshiba: A kérés rossz szintaxisú vagy nem teljesíthető. 5xx – szerverhiba: A szervernek nem sikerült egy helyes kérést végrehajtania.
A második és harmadik számjegyre nincsenek szabályok.
Nem minden lehetséges kód létezik, hiába van 404-es kód például, a kódok száma csak 62 (nem szabványosakkal együtt 90).
1-gyel kezdődő kódok Ezek azt jelzik, hogy a szerver megkapta és értelmezte a kérést. A kérés ideiglenes helyzetét jelzik, a feldolgozás ezek után fog következni. A klienst utasítják, hogy további válaszra várjon. A válasz csak egy állapotsort (állapotkóddal) tartalmaz, valamit opcionálisan fejléceket. Ezek után egy üres sor következik lezárásként. A HTTP/1.0 nem definiál egyetlen 1-gyel kezdődő kódot sem.
100 – folytatás: A kérést elfogadta a szerver, a kliensnek el kell küldenie a kérés törzsét. 101 – protokollváltás: A protokoll megváltoztatását elfogadta a szerver. 102 – feldolgozás (WebDAV): A kérést elfogadta és feldolgozza a szerver, de jelenleg nincs elérhető válasz. Megakadályozza, hogy a böngésző a válaszra várjon. 103 – előzetes információk: A fő HTTP-fejléc előtt elküldött információk jelzésére szolgál.
2-vel kezdődő kódok Ezek a kódok a sikeres, elfogadott és értelmezett kérést jelzik.
200 – sikeres kérés: A kérést elfogadta a szerver, az eredményt visszaküldi. 201 – létrehozva: Jelzi, hogy a kérés sikeres volt, és az erőforrás létre van hozva, pl egy POST-űrlap eredményeként érkezhet ez a kód. 202 – elfogadva: A kérést elfogadta a szerver, de a feldolgozás nem fejeződött be. 203 (az 1.1 verzió óta) – módosítva: A szerver egy proxy, ami 200-as kódot kapott, és módosított tartalmat küldött vissza. 204 – nincs tartalom: A kérést elfogadta és sikeresen feldolgozta a szerver, de nincs válasz. 205 – tartalom visszaállítása: A szerver felszólítja a klienst, hogy állítsa vissza a dokumentum nézetét, pl. törölje ki az űrlapba beírt adatokat, töröljön le egy canvast stb. 206 – részleges tartalom: A szerver nem küldte el a teljes tartalmat. 207 – több állapot (WebDAV): Ez a kód xml-dokumentumok esetén használatos. Jelzi, hogy a dokumentum több elkülönített részből áll, amelyek mind különböző állapotkóddal rendelkezhetnek. 208 – már jelentve (WebDAV): A DAV részeit korábban már felsorolta a szerver egy korábbi válaszban, így nem közli azokat megint. 226 – IM használata: A szerver teljesített egy GET kérést, az eredmény ennek jelképe. A kérésnek egy A-IM fejlécet kell tartalmaznia.
3-mal kezdődő kódok Ezek a kódok egy másik tevékenységre utasítják a klienst. Általában átirányításra használják őket.
A kliens user agentje csak akkor hajthatja végre a műveletet, ha a metódus GET vagy HEAD. A kérés automatikus átirányítása megengedett. A user agent dolga a körkörös hivatkozások felismerése és megakadályozása is.
300 – több választás: Jelzi, hogy a kért erőforrásnak több változata is létezik, például egy videó több formátumban is elérhető. 301 – végleges áthelyezés: A kérés véglegesen átirányítva másik URI-re. Nem engedélyezi a metódus váltását. 302 – ideiglenes áthelyezés: A kérés ideiglenesen átirányítva másik URI-re. Nem engedélyezi a metódus váltását. 303 (az 1.1 verzió óta) – máshol megtalálható: A kért erőforrás másik URI-n már megtalálható. 304 – nem változott: Jelzi, hogy az erőforrás nem változott az If-Modified-Since vagy az If-None-Match fejlécben megadott verzió óta, így nem kell újra letölteni azt. 305 (az 1.1 verzió óta) – proxyhasználat szükséges: Jelzi, hogy az erőforrás csak proxyn keresztül elérhető. 306 – proxyváltás: A szerver felszólítja a klienst, hogy váltson proxyt. Ma már nem használt kód. 307 (az 1.1 verzió óta) – ideiglenes átirányítás: A kérés ideiglenesen átirányítva másik URI-re. Engedélyezi a metódus váltását. 308 – végleges átirányítás: A kérés véglegesen átirányítva másik URI-re. Engedélyezi a metódus váltását.
4-gyel kezdődő kódok Ezek a kódok a kliens által kiváltott hibát jelzik. Egy HEAD kérésre adott válasznak tartalmaznia kell a hiba leírását, illetve annak ideiglenes vagy végleges voltát. Ezek a kódok bármilyen metódusú kérésre használhatóak. A kliensnek minden mellékelt választ meg kell jelenítenie.
400 – hibás kérés: A kérés nem végrehajtható, mert rossz szintaxisú, túl hosszú stb. 401 – nem azonosított: Megegyezik a 403-mal, de meghiúsult azonosítás (a WWW-Autenthicate fejléccel) után jelenik meg. 402 – fizetés szükséges: Jövőbeli használat céljából létrehozva. Eredeti célja az volt, hogy például egy internetes bank részeként működjön. Ez nem valósult meg, a Google egyéb célokra használja. 403 – nincs jogosultság: A kliensnek nincs jogosultsága megtekinteni az oldalt. 404 – nem található: A kért erőforrás nem létezik. Megfelelő ideiglenes és végleges helyzet jelölésére is. 405 – a metódus nem engedélyezett: A használt HTTP-metódus nem engedélyezett, pl egy PUT kérés egy csak olvasható erőforráson. 406 – nem elfogadható: Jelzi, hogy a szerver nem tud választ előállítani az Accept, az Accept-Charset, az Accept-Encoding vagy az Accept-Language fejlécben megadott tulajdonságok miatt. 407 – proxyazonosítás szükséges: A kliensnek azonosítania kell magát a proxyszerveren. 408 – időtúllépés: A szerver túl sokáig várt a kérésre, így a kapcsolat lezárult. 409 – konfliktus: Jelzi, hogy az erőforrás nem elérhető, mert ütközne egy másik folyamattal, pl. egy dokumentum egyidejű szerkesztése. 410 – véglegesen eltűnt: A kért erőforrás nem létezik, és ez így is fog maradni a jövőben is. 411 – probléma a mérettel: A kérés mérete nem megfelelő. 412 – a kliens nem megfelelő: A kliens nem felel meg az egyik feltételnek. 413 – hosszú kérés: A kérés nagyobb a szerver által maximálisan feldolgozhatónál. 414 – hosszú URI: Az URI hosszúsága nagyobb a megengedettnél. 415 – rossz MIME: A kérés MIME-típusát nem támogatja a szerver. 416 – a fájlpozíció nem megfelelő: A kliens egy darabját kérte a fájlnak, de a szerver ezt nem tudja kézbesíteni. Például a kliens egy olyan részét kérte a fájlnak, ami a fájl vége után található. 417 – a szerver nem megfelelő: A szerver nem felel meg azoknak a követelményeknek, amit a kliens az Expect fejlécben meghatározott. 418 – teáskanna vagyok: Ez a kód 1998-ban lett definiálva, áprilisi tréfának szánták. Nem használják. 421 – rossz címzés: A kérést olyan webszervernek küldték, ami nem tud választ előállítani. (Például mert nincs konfigurálva.) 422 – feldolgozhatatlan kérés (WebDAV): A kérés helyesen formázott, de a szerver nem tudja feldolgozni, mert pl. egy XML-dokumentum hibás. 423 – zárolva (WebDAV): A kért erőforrás nem érhető el, mert zárolva van. 424 – problémás függés (WebDAV): A kérés egy másik kéréstől függ, ami meghiúsult. 426 – frissítés szükséges: A szerver felszólítja a klienst, hogy váltson protokollt. (Pl. hogy biztonságos legyen a kapcsolat.) 428 – hiányzó feltételmegadás: A szerver azt jelzi, hogy hiányzik a gyorsítótárazáshoz szükséges fejléc, amivel jelezné a kliens a szervernek a legutóbbi verziószámot. 429 – sok kérés: A kliens túl sok kérést küldött adott időn belül. 431 – túl nagy fejlécek: Valamelyik fejléc, illetve a fejlécek együtt túllépik a megadott méretet. 451 – jogilag letiltva: A jogi okokból letiltott oldalakat jelzi. Ray Bradbury Fahrenheit 451 című novellájára utal.
5-tel kezdődő kódok Ezek a kódok azt jelzik, hogy a szerver nem tudja végrehajtani a kérést (de az nem hibás). Jelzik, hogy a szerver felkészült olyan hibákra is, amiket nem tud elhárítani. Egy HEAD kérésre adott válasznak tartalmaznia kell a hiba leírását, illetve annak ideiglenes vagy végleges voltát. Ezek a kódok bármilyen metódusú kérésre használhatóak. A kliensnek minden mellékelt választ meg kell jelenítenie.
500 – belső szerverhiba: Egy általános hibaüzenet szerverhibák jelzésére. 501 – nincs megvalósítva: A szerver nem ismerte fel a HTTP-metódust, vagy nem képes teljesíteni a kérést, de a jövőben ez a helyzet meg fog változni. Nagyon gyakran az okozza, hogy a fejlesztő az XMLHttpRequest.open() -ben felcserélte a két paramétert, így a szerver a fájlnevet próbálja HTTP-metódusként értelmezni, a metódust pedig fájlnévként. 502 – rossz gateway: Jelzi, hogy a szerver egy hibás HTTP-választ kapott egy másik szervertől. 503 – a szolgáltatás nem elérhető: A szerver nem képes kezelni a kérést. Általában ez a helyzet csak ideiglenes. 504 – átjáró időtúllépés: Proxyk használják. Jelzi, hogy a szerver nem kapott választ az eredeti szervertől időben. 505 – nem támogatott HTTP-verzió: A szerver nem támogatja a kliens által használt HTTP-verziót. 506 – körkörös hivatkozás: A kiszolgálót rosszul konfigurálták. A kért erőforrás körkörös hivatkozást eredményez. 507 – kevés tárhely (WebDAV): A szerver nem képes a kérést tárolni, mert kevés a tárhely. 508 – végtelen ismétlés (WebDAV): A szerver végtelen ciklusban ismétlődő kéréseket érzékelt a feldolgozáskor. 510 – nincs kiterjesztve: További szolgáltatásokra van szüksége a szervernek, hogy teljesíthesse a kérést. 511 – hálózati azonosítás: A hálózat használata előtt azonosítani kell magunkat, pl. egy Wi-Fi-hálózat használata előtt el kell fogadni a használati feltételeket.
Nem szabványos kódok Ezek a kódok nem szabványosak, de használják őket, így a böngészők ismerik.
Általánosan használt kódok Ezek a kódok nem köthetőek valamelyik szoftverhez, illetve több kiszolgáló is használja őket.
103 – ellenőrző pont: Megszakított, de folytatható kérések folytatására szolgál. 218 – rendben van (Apache HTTP Server): Arra szolgál, hogy a válaszok az Apache-n keresztül menjenek, és a 4-gyel vagy 5-tel kezdődő kódok automatikusan lecserélődjenek egy másik, Apache-nak megadott kódra. A ProxyErrorOverride bekapcsolása szükséges hozzá a httpd.conf állományban. 419 – az oldal lejárt (Laravel): A Laravel keretrendszer használja a hiányzó vagy lejárt CSRF-token jelzésére. 420 – sikertelen művelet (Spring keretrendszer): Sikertelen műveletek jelzésére kialakított, ma már nem használt művelet. 420 – sok kérés (Twitter): Jelzi, hogy a kliens túllépte a kérések megengedett számát. Ma a 429-et használják helyette. 450 – szülői felügyelet által blokkolva (Microsoft): A Windows szülői felügyelete által letiltott tartalom. 498 – rossz token (Esri): Az ArcGIS használja. Jelzi, hogy a kliens lejárt vagy hibás tokent küldött. 499 – token szükséges (Esri): Az ArcGIS használja. Jelzi, hogy a kliens nem küldte el a tokent. 509 – maximális sávszélesség túllépve (Apache HTTP Server, CPanel): Jelzi, hogy a kliens túllépte a rendszergazda által meghatározott maximális sávszélességet. 526 – hibás SSL (Cloudflare, Cloud Foundry): Jelzi, hogy az eredeti szerver által küldött SSL-tanúsítvány hibás. 530 – az oldal inaktív (Pantheon): Jelzi, hogy a szerver jelenleg inaktív állapotban van. 598 – időtúllépés: Néhány proxy használja időtúllépés jelzésére.
IIS Ezeket a kódokat a Microsoft Internet Information Services terméke használja.
440 – lejárt bejelentkezés: A munkamenet lejárt, így a kliensnek újra be kell jelentkeznie. 459 – újrapróbálkozás: A szerver nem tudta értékelni a kérést, mert néhány szükséges információt nem biztosított a kliens. 451 – átirányítás: Az Exchange ActiveSnyc által használt kód. Azt jelzi, hogy a szerver nem elérhető, vagy nem képes elérni a postafiókot.
nginx Ezeket a kódokat az nginx webkiszolgáló használja.