HTTP-állapotkódok

A Wikipédiából, a szabad enciklopédiából

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[szerkesztés]

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[szerkesztés]

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[szerkesztés]

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[szerkesztés]

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[szerkesztés]

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[szerkesztés]

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[szerkesztés]

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[szerkesztés]

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[szerkesztés]

Ezeket a kódokat az nginx webkiszolgáló használja.

  • 444 – nincs válasz: Felszólítja a szervert, hogy ne adjon vissza választ, és zárja le a kapcsolatot azonnal.
  • 494 – nagy fejlécek: Jelzi, hogy a kliens túl hosszú kérést/fejlécet küldött.
  • 495 – hiba az SSL-lel: Jelzi, hogy a kliens tanúsítványa hibás.
  • 496 – SSL azonosítás szükséges: A kliensnek azonosítania kell magát SSL-tanúsítvánnyal, de ez nem történt meg.
  • 497 – rossz port: A kliens egy HTTP-kérést küldött egy HTTPS-portra.
  • 499 – lezárt kapcsolat: Jelzi, hogy a kliens lezárta a kapcsolatot azelőtt, hogy a szerver válaszolhatott volna.

Cloudflare[szerkesztés]

Ezeket a kódokat a Cloudflare fordított proxyja használja.

  • 520 – ismeretlen hiba: Általános hibaüzenet. Kiválthatják a következők:
    • a TCP-kapcsolat korai lezárása (mielőtt válaszolhatna a szerver)
    • a fejlécek túl nagy mérete (meghaladják a 8 kilobájtot)
    • üres válasz az eredeti szervertől
    • hibás HTTP-válasz
    • HTTP-válasz fejlécek nélkül
  • 521 – a szerver lezárta a kapcsolatot: Jelzi, hogy az eredeti szerver lezárta a Cloudflare-ral létesített kapcsolatot.
  • 522 – a kapcsolat lejárt: A Cloudflare nem tudott megegyezni az eredeti szerverrel a TLS-kézfogás során.
  • 523 – az eredeti szerver elérhetetlen: A Cloudflare nem tudott kapcsolódni az eredeti szerverhez.
  • 524 – időtúllépés: A szerver nem küldött választ a Cloudflare-nak, a kapcsolat időtúllépés miatt lezárult.
  • 525 – hiba az SSL/TLS kézfogással: A Cloudflare nem tudta a szerverrel végrehajtani az SSL/TLS kézfogást.
  • 526 – rossz SSL: A Cloudflare nem tudta érvényesíteni az eredeti szerver tanúsítványát.
  • 527 – jelzi, hogy a kérés időtúllépés miatt megszakadt, vagy hibába ütközött a hálózati kapcsolat létrejötte után.
  • 530 – hiba az eredeti DNS-sel: Jelzi, hogy a Cloudflare nem tudta feloldani az eredeti szerver domainnevét.

Fordítás[szerkesztés]

  • Ez a szócikk részben vagy egészben a List_of_HTTP_status_codes című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

További források[szerkesztés]