Junior
Beszélj az HTTP státuszkódokról.
sobes.tech MI
Válasz az MI-től
HTTP státuszkódok olyan szabványos háromjegyű számok, amelyeket a szerver ad vissza válaszként a kliens kérésére. Ezek mutatják a kérés feldolgozásának eredményét.
Státuszkód kategóriák:
- 1xx (Információs): A szerver elfogadta a kérést és folytatja a folyamatot.
- 2xx (Siker): A kérés sikeresen feldolgozva.
- 3xx (Átirányítás): További lépés szükséges a kérés végrehajtásához.
- 4xx (Klienshiba): A kérés szintaktikai hibát tartalmaz vagy nem feldolgozható.
- 5xx (Szerverhiba): A szerver nem tudta végrehajtani a kérését, annak ellenére, hogy az érvényes volt.
Gyakran előforduló státuszkódok:
| Kód | Név | Leírás |
|---|---|---|
| 200 | OK | A kérés sikeresen feldolgozva. |
| 201 | Created | Az erőforrás sikeresen létrehozva. |
| 204 | No Content | A kérés sikeresen feldolgozva, a válasz nem tartalmaz testet. |
| 301 | Moved Permanently | Az erőforrás állandóan át lett helyezve egy új URL-re. |
| 302 | Found | Az erőforrás ideiglenesen elérhető egy másik URL-en. |
| 304 | Not Modified | Az erőforrás az utolsó kérés óta nem változott. |
| 400 | Bad Request | A szerver nem értette meg a kérés szintaktikai hibája miatt. |
| 401 | Unauthorized | Hitelesítés szükséges. |
| 403 | Forbidden | A hozzáférés az erőforráshoz megtagadva. |
| 404 | Not Found | A kért erőforrás nem található. |
| 405 | Method Not Allowed | A kérésben használt HTTP módszer nem engedélyezett az erőforráshoz. |
| 409 | Conflict | Ütközés a kérés feldolgozása során, például létező erőforrás létrehozása. |
| 422 | Unprocessable Entity | A kérés szintaktikailag helyes, de szemantikailag hibás. |
| 500 | Internal Server Error | Belső szerverhiba. |
| 501 | Not Implemented | A szerver nem támogatja a kéréshez szükséges funkciót. |
| 503 | Service Unavailable | A szerver ideiglenesen nem elérhető. |
Az API tesztelése során a státuszkódok kulcsfontosságúak a teszt sikerességének vagy kudarcának jelzésében. A helyes státuszkód ellenőrzése minden kérés típusánál (GET, POST, PUT, DELETE stb.) különböző szcenáriókban (siker, validációs hiba, erőforrás hiánya, hitelesítés) az API funkcionális tesztelésének alapja.
Például, új erőforrás létrehozásakor (POST kérés) a 201 Created kód várható, míg nem létező erőforrás lekérésekor (GET kérés) a 404 Not Found.
import requests
# Sikeres kérés státuszkód ellenőrzése például
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
# Várjuk a 200 OK státuszt
assert response.status_code == 200
# Nem létező erőforrás kérésének státuszkód ellenőrzése például
response_not_found = requests.get('https://jsonplaceholder.typicode.com/posts/9999')
# Várjuk a 404 Not Found státuszt
assert response_not_found.status_code == 404