Junior
Pověz o kódech stavu HTTP.
sobes.tech AI
Odpověď od AI
HTTP stavové kódy jsou tříciferná celá čísla, která server vrací jako odpověď na požadavek klienta. Ukazují výsledek požadavku a dělí se do pěti tříd:
- 1xx Informační: Požadavek byl přijat a zpracování pokračuje.
100 Continue: Server obdržel počáteční část požadavku a klient může pokračovat v odesílání zbývající části.101 Switching Protocols: Server rozumí a je připraven provést změnu protokolů požadovanou klientem.
- 2xx Úspěšné: Požadavek byl úspěšně zpracován, pochopen a přijat.
200 OK: Standardní úspěšná odpověď na HTTP požadavky.201 Created: Požadavek byl splněn a byl vytvořen nový zdroj.204 No Content: Server úspěšně zpracoval požadavek, ale v odpovědi chybí tělo odpovědi.
- 3xx Přesměrování: Pro dokončení požadavku jsou potřeba další akce.
301 Moved Permanently: Požadovaný zdroj má nový trvalý URI.302 Found: Požadovaný zdroj byl dočasně přesunut na jiný URI.304 Not Modified: Zdroj se od posledního odeslání nezměnil.
- 4xx Chyby klienta: Požadavek obsahuje syntaktickou chybu nebo nemůže být splněn.
400 Bad Request: Server nerozumí požadavku kvůli neplatné syntaxi.401 Unauthorized: Pro přístup ke zdroji je potřeba autentifikace.403 Forbidden: Server rozumí požadavku, ale odmítá ho autorizovat.404 Not Found: Server nemůže najít požadovaný zdroj.
- 5xx Chyby serveru: Server nemůže správně zpracovat správně formátovaný požadavek.
500 Internal Server Error: Obecná chyba serveru při zpracování požadavku.502 Bad Gateway: Server fungující jako brána nebo proxy obdržel neplatnou odpověď od nadřazeného serveru.503 Service Unavailable: Server momentálně nemůže zpracovat požadavek kvůli dočasnému přetížení nebo údržbě.
Příklady použití při testování:
- Testování API: Kontrola shody vrácených stavových kódů s očekávanými (například
200 OKpři úspěšném získání dat,404 Not Foundpři požadavku na neexistující zdroj). - Testování webových aplikací: Kontrola přesměrování (stavové kódy
3xx), chyb zadání uživatelem (stavové kódy4xx), funkčnost služeb při zátěži (stavový kód503).
Příklad kontroly stavového kódu v Pythonu s použitím requests:
import requests
url = "https://www.example.com"
response = requests.get(url)
# Kontrola, že požadavek byl úspěšný (stavový kód 2xx)
if response.status_code == 200:
print("Požadavek byl úspěšný.")
else:
print(f"Chyba při provádění požadavku. Stavový kód: {response.status_code}")