Sobes.tech
Junior

Rozprávaj o stavových kódoch HTTP.

sobes.tech AI

Odpoveď od AI

Kódy stavu HTTP sú trojmiestne čísla, ktoré server vracia ako odpoveď na požiadavku klienta a ukazujú výsledok spracovania požiadavky. Sú rozdelené podľa prvého čísla:

  • 1xx (Informačné): Požiadavka bola prijatá, spracovanie pokračuje.
  • 2xx (Úspešné): Požiadavka bola úspešne prijatá, pochopená a akceptovaná.
  • 3xx (Presmerovanie): Na dokončenie požiadavky sú potrebné ďalšie kroky.
  • 4xx (Chyba klienta): Požiadavka obsahuje syntaktickú chybu alebo nemôže byť vykonaná.
  • 5xx (Chyba servera): Server nemohol správne vykonať správne naformátovanú požiadavku.

Príklady najčastejšie sa vyskytujúcich kódov:

Kód Kategória Hodnota Popis
100 Informačný Pokračovať Server obdržal počiatočnú časť požiadavky
200 Úspešný OK Požiadavka bola úspešne vykonaná
201 Úspešný Vytvorené Požiadavka bola vykonaná, bol vytvorený nový zdroj
204 Úspešný Bez obsahu Požiadavka bola vykonaná, odpoveď neobsahuje telo
301 Presmerovanie Trvalo presunuté Zdroj bol trvalo presunutý
302 Presmerovanie Dočasne presunuté Zdroj bol dočasne presunutý
304 Presmerovanie Nezmenené Zdroj sa od posledného požiadavky nezmenil
400 Chyba klienta Zlá požiadavka Neplatná syntax požiadavky
401 Chyba klienta Neautorizované Vyžaduje sa autentifikácia
403 Chyba klienta Zakázané Prístup k zdroju je zakázaný
404 Chyba klienta Nenašlo sa Zdroj na uvedenej URL nebol nájdený
405 Chyba klienta Metóda nie je povolená Použitá metóda HTTP nie je povolená
500 Chyba servera Interná chyba servera Interná chyba servera
502 Chyba servera Zlá brána Neplatná odpoveď od nadriadeného servera
503 Chyba servera Služba nedostupná Server je dočasne nedostupný

Znalosť kódov stavu pomáha pochopiť príčinu chyby, odhaliť problémy a určiť úspešnosť ich vykonania. Často sa používajú v automatizovanom testovaní na overenie očakávaného výsledku API požiadaviek.

import requests

url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)

# Kontrola, či je kód stavu úspešný (200 OK)
if response.status_code == 200:
    print("Úspešný GET požiadavok")
else:
    print(f"Chyba pri GET požiadavku: kód stavu {response.status_code}")

url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)

# Kontrola, či kód stavu indikuje nenájdený zdroj (404 Not Found)
if response_not_found.status_code == 404:
    print("Zdroj nebol nájdený (očakávané správanie)")
else:
    print(f"Neočakávaný kód stavu: {response_not_found.status_code}")