Tartalomjegyzék

Mi az a JWT ?

A JWT vagy JSON Web Token egy nyílt szabvány, amelyet két fél – egy ügyfél és egy kiszolgáló – közötti biztonsági információk

REST specifikus státusz kódok

Ebben a bemutatóban megismerkedünk a különböző REST specifikus státusz kódokkal és rövid betekintést teszünk a REST-kérések típusaira is.

HTTP státuszkódok

Ebben a cikken a HTTP státuszkódokat és a hozzájuk kapcsolódó csoportosításokat szeretném bemutatni nektek.

A REST API-k a HTTP-válaszüzenetek ‘status’ részét használják arra, hogy tájékoztassák az kérés igénylőjét a kérésük átfogó eredményéről.

Az RFC 2616 a status szintaxisát az alábbiak szerint határozza meg:

Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

A szabvány meghatározza ezeket az állapotkódokat, amelyekkel az ügyfél kérésének eredményét lehet közölni.

Az állapotkódok öt kategóriába sorolhatók.
  • 1xx: Információs
    Átviteli protokoll szintű információkat közöl.
  • 2xx: Kérés teljesítve
    Jelzi, hogy az ügyfél kérése sikeresen elfogadásra és végrahajtásra került.
  • 3xx: Átirányítás
    Azt jelzi, hogy az ügyfélnek további lépéseket kell tennie a kérés teljesítéséhez.
  • 4xx: Felhasználói hiba
    A hibaállapotkódok ezen kategóriája az ügyfelekre mutat.
  • 5xx: Szerverhiba
    A kiszolgáló oldalon bekövetkezett hibákat jelölik ezekkel a válaszkódokkal

1xx Státusz kód [Információs]

Státusz kód
Leírás
100 Continue
Időközi válasz. Jelzi az ügyfélnek, hogy a kérés kezdeti részét megkapta, és a kiszolgáló még nem utasította el. Az ügyfélnek folytatnia KELL a kérés további részének elküldésével, vagy ha a kérés már befejeződött, figyelmen kívül kell hagynia ezt a választ. A kiszolgálónak a kérés befejezése után egy végső választ KELL küldenie.
101 Switching Protocol
Az ügyfél Upgrade request fejlécére válaszul küldött üzenet, amely jelzi, hogy a kiszolgáló milyen protokollra vált át.
102 Processing (WebDAV)
Azt jelzi, hogy a kiszolgáló megkapta és feldolgozza a kérelmet, de még nem áll rendelkezésre válasz.
103 Early Hints
Elsősorban a Link fejléccel együtt használható. Azt javasolja, hogy a felhasználói kezdje el az erőforrások előtöltését, amíg a kiszolgáló elkészíti a végleges választ.

2xx státuszkódok [Sikeres]

Státusz kód
Leírás
200 OK
Jelzi, hogy a kérés sikeres volt.
201 Created
Jelzi, hogy a kérés sikeres volt, és ennek eredményeképpen új erőforrás jött létre.
202 Accepted
Azt jelzi, hogy a kérelem beérkezett, de még nem fejeződött be. Általában naplófutó kéréseknél és kötegelt feldolgozásnál használják.
203 Non-Authoritative Information
Azt jelzi, hogy a visszaküldött metainformáció az entitásfejlécben nem az eredeti kiszolgálótól származó végleges készlet, hanem egy helyi vagy harmadik féltől származó másolatból származik. A bemutatott halmaz lehet az eredeti változat részhalmaza vagy szuperhalmaza.
204 No Content
A kiszolgáló teljesítette a kérést, de nem kell válaszüzenetet küldenie. A kiszolgáló visszaküldheti a frissített metainformációkat.
205 Reset Content
Jelzi, hogy az ügyfél visszaállítja a dokumentumot, amely ezt a kérést küldte.
206 Partial Content
Akkor használatos, amikor a Range fejlécét egy erőforrásnak csak egy részét kéri.
207 Multi-Status (WebDAV)
Jelzi az ügyfél számára, hogy több művelet történt, és hogy az egyes műveletek állapota megtalálható a válasz testében.
208 Already Reported (WebDAV)
Lehetővé teszi az ügyfél számára, hogy közölje a kiszolgálóval, hogy ugyanazt az erőforrást (ugyanazzal a kötéssel) már korábban megemlítették. Soha nem jelenik meg valódi HTTP-válaszkódként az állapotsorban, csak a testekben.
226 IM Used
A kiszolgáló teljesített egy GET-kérést az erőforráshoz, és a válasz az aktuális példányra alkalmazott egy vagy több példány-manipuláció eredményének reprezentációja.

3xx Status Codes [átirányítás]

Státusz kód
Leírás
300 Multiple Choices
A kérésnek egynél több lehetséges válasza van. A felhasználó-ügynöknek vagy a felhasználónak ezek közül kell választania.
301 Moved Permanently
A kért erőforrás URL címe véglegesen megváltozott. Az új URL-t a válasz Location fejléc mezője adja meg. Ez a válasz gyorsítótárba helyezhető, hacsak másképp nem jelezzük.
302 Found
A kért erőforrás URL címe ideiglenesen megváltozott. Az új URL-t a válasz Location mezője adja meg. Ez a válasz csak akkor gyorsítótárba helyezhető, ha a Cache-Control vagy Expires fejlécmező jelzi.
303 See Other
A válasz egy másik URI alatt található, és azt az erőforrás GET módszerével KELL lekérni.
304 Not Modified
Jelzi az ügyfélnek, hogy a válasz nem módosult, így az ügyfél továbbra is használhatja a válasznak ugyanazt a gyorsítótárazott változatát.
305 Use Proxy (Deprecated)
Jelzi, hogy a kért válaszhoz proxyn keresztül kell hozzáférni.
306 (Unused)
Ez egy fenntartott státuszkód, és már nincs használatban.
307 Temporary Redirect
Jelzi az ügyfélnek, hogy a kért erőforrást egy másik URI-n keresztül kapja meg, ugyanazzal a módszerrel, mint amit az előző kérésben használt. Hasonló a 302 Found-hoz, azzal a kivétellel, hogy ugyanaz a HTTP-módszer lesz használva, mint az előző kérésnél.
308 Permanent Redirect (experimental)
Jelzi, hogy az erőforrás mostantól állandóan egy másik URI-n található, amelyet a Location fejléc határoz meg. Hasonló a 301 Moved Permanently-hez, azzal a különbséggel, hogy ugyanazt a HTTP-módszert használja, mint az előző kérésnél.

4xx Status Codes (Kliens oldali hiba )

Státusz kód
Leírás
400 Bad Request
A kérést a szerver nem értette meg a hibás szintaxis miatt. Az ügyfélnek MÓDOSÍTANI KELL a kérést mielőtt újra elküldi.
401 Unauthorized
Jelzi, hogy a kérelem felhasználói hitelesítési adatokat igényel. Az ügyfél megismételheti a kérést egy megfelelő Authorization fejlécmezővel.
402 Payment Required (Experimental)
Fenntartva jövőbeli használatra. Célja a digitális fizetési rendszerekben való felhasználás.
403 Forbidden
Jogosulatlan kérés. Az ügyfél nem rendelkezik hozzáférési jogokkal a tartalomhoz. A 401-től eltérően az ügyfél személyazonossága ismert a kiszolgáló számára.
404 Not Found
A kiszolgáló nem találja a kért erőforrást.
405 Method Not Allowed
A kérés HTTP-módszerét a kiszolgáló ismeri, de letiltották, és nem használható az adott erőforráshoz.
406 Not Acceptable
A kiszolgáló nem talál olyan tartalmat, amely megfelel a felhasználói ügynök által a kérelemben küldött ‘engedélyezett fejléc’-ben megadott kritériumoknak.
407 Proxy Authentication Required
Jelzi, hogy az ügyfélnek először hitelesítenie kell magát a proxynél.
408 Request Timeout
Azt jelzi, hogy a kiszolgáló nem kapott teljes kérést az ügyféltől a kiszolgáló által megadott időkorláton belül.
409 Conflict
A kérést nem lehetett befejezni az erőforrás aktuális állapotával való ütközés miatt.
410 Gone
A kért erőforrás már nem elérhető a kiszolgálón.
411 Length Required
A kiszolgáló elutasítja a kérés elfogadását meghatározott Content- Length nélkül. Az ügyfél megismételheti a kérést, ha érvényes Content-Length (tartalom hossz) fejlécmezőt ad hozzá.
412 Precondition Failed
Az ügyfél olyan előfeltételeket jelölt meg a fejlécében, amelyeket a kiszolgáló nem teljesít.
413 Request Entity Too Large
Akkor fordul elő, amikor az ügyfél kérésének mérete meghaladja a kiszolgáló fájlméret-korlátját. Ez általában akkor fordul elő, amikor egy ügyfél megpróbál nagyméretű fájlt feltölteni egy webkiszolgálóra, és a kiszolgáló 413 hibával válaszol, hogy figyelmeztesse az ügyfelet.
414 Request-URI Too Long
Az ügyfél által kért URI hosszabb, mint amit a kiszolgáló értelmezni tud.
415 Unsupported Media Type
A kiszolgáló nem támogatja a kérés Content-type-jában megadott médiatípust.
416 Requested Range Not Satisfiable
A kérésben a ‘Tartomány fejléc’ mezőben megadott tartomány nem teljesíthető.
417 Expectation Failed
Az Expect request header mező által jelzett elvárást a kiszolgáló nem tudja teljesíteni.
418 I’m a teapot (RFC 2324)
Áprilisi tréfaként lett definiálva, és nem várható, hogy a tényleges HTTP-kiszolgálók implementálják. (RFC 2324)
420 Enhance Your Calm (Twitter)
A Twitter Search and Trends API által visszaküldött érték, ha az ügyfél sebességkorlátozás alatt áll.
422 Unprocessable Entity (WebDAV)
A kiszolgáló megérti a kérés tartalmi típusát és szintaxisát, de a kiszolgáló valamilyen okból mégsem tudja feldolgozni a kérést.
423 Locked (WebDAV)
A erőforrás, ami a kérés teljesítéséhez szükséges, zárolt.
424 Failed Dependency (WebDAV)
A kérés egy korábbi kérés sikertelensége miatt ‘sikertelen’.
425 Too Early (WebDAV)
Azt jelzi, hogy a kiszolgáló nem hajlandó megkockáztatni egy olyan kérés feldolgozását, amelyet esetleg újrajátszanak.
426 Upgrade Required
A kiszolgáló megtagadja a kérés végrehajtását. A kiszolgáló feldolgozza a kérést, miután az ügyfél más protokollra frissít.
428 Precondition Required
Az eredetkiszolgáló megköveteli, hogy a kérelem feltételes legyen.
429 Too Many Requests
A felhasználó túl sok kérést küldött egy adott idő alatt (“rate limiting”).
431 Request Header Fields Too Large
A kiszolgáló nem hajlandó feldolgozni a kérést, mert a fejléc mezői túl nagyok/hosszúak.
444 No Response (Nginx)
Az Nginx kiszolgáló nem küld vissza információt az ügyfélnek, és lezárja a kapcsolatot.
451 Unavailable For Legal Reasons
A felhasználó-ügynök olyan erőforrást kért, amelyet jogilag nem lehet biztosítani.
499 Client Closed Request (Nginx)
Az ügyfél oldali kliens lezárja a kapcsolatot, miközben a HTTP-kiszolgáló feldolgozza a kérését, így a kiszolgáló nem tudja visszaküldeni a HTTP-fejlécet.

5xx Status Codes (Szerver oldali hiba)

Status Code
Description
500 Internal Server Error
A kiszolgáló olyan váratlan körülménybe ütközött, amely megakadályozta a kérés teljesítését.
501 Not Implemented
A HTTP-módszert a kiszolgáló nem támogatja, és nem lehet kezelni.
502 Bad Gateway
A kiszolgáló érvénytelen választ kapott, miközben átjáróként működött, hogy megkapja a kérelem kezeléséhez szükséges választ.
503 Service Unavailable
A kiszolgáló nem áll készen a kérés kezelésére.
(service restart vagy más ok miatt)
504 Gateway Timeout
A kiszolgáló átjáróként működik, és nem kap időben választ egy kérésre.
505 HTTP Version Not Supported (Experimental)
A kérelemben használt HTTP-verziót a kiszolgáló nem támogatja.
506 Variant Also Negotiates (Experimental)
Azt jelzi, hogy a kiszolgálónak belső konfigurációs hibája van: a kiválasztott változat erőforrása úgy van konfigurálva, hogy maga is részt vegyen az átlátható tartalomtárgyalásban, és ezért nem megfelelő végpontja a tárgyalási folyamatnak.
507 Insufficient Storage (WebDAV)
A módszert nem lehetett végrehajtani az erőforráson, mert a kiszolgáló nem tudja tárolni a kérés sikeres végrehajtásához szükséges reprezentációt.
508 Loop Detected (WebDAV)
A kiszolgáló végtelen hurkot észlelt a kérés feldolgozása során.
510 Not Extended
A kérés további bővítése szükséges ahhoz, hogy a kiszolgáló teljesíteni tudja azt.
511 Network Authentication Required
Jelzi, hogy az ügyfélnek hitelesítenie kell magát a hálózati hozzáféréshez.
Http Státuszkódok
Tetszett a cikk?? Akkor kérlek, oszd meg ismerőseiddel.
Facebook
Twitter
LinkedIn
http státuszkódok

További bejegyzések

Mi az a JWT ?

A JWT vagy JSON Web Token egy nyílt szabvány, amelyet két fél – egy ügyfél és egy kiszolgáló – közötti biztonsági információk