Sobes.tech
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 OK při úspěšném získání dat, 404 Not Found př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ódy 4xx), funkčnost služeb při zátěži (stavový kód 503).

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}")