Sobes.tech
Junior

Porozprávaj o kódoch stavu HTTP.

sobes.tech AI

Odpoveď od AI

HTTP stavové kódy sú trojciferné celé čísla, ktoré server vracia ako odpoveď na požiadavku klienta. Ukazujú výsledok požiadavky a delia sa na päť tried:

  • 1xx Informačné: Požiadavka bola prijatá a spracovanie pokračuje.
    • 100 Continue: Server obdržal počiatočnú časť požiadavky a klient môže pokračovať v odosielaní zostávajúcej časti.
    • 101 Switching Protocols: Server rozumie a je pripravený vykonať zmenu protokolov požadovanú klientom.
  • 2xx Úspešné: Požiadavka bola úspešne spracovaná, pochopená a prijatá.
    • 200 OK: Štandardná úspešná odpoveď na HTTP požiadavky.
    • 201 Created: Požiadavka bola splnená a bol vytvorený nový zdroj.
    • 204 No Content: Server úspešne spracoval požiadavku, ale v odpovedi chýba telo odpovede.
  • 3xx Presmerovanie: Na dokončenie požiadavky sú potrebné ďalšie akcie.
    • 301 Moved Permanently: Požadovaný zdroj má nový trvalý URI.
    • 302 Found: Požadovaný zdroj bol dočasne presunutý na iný URI.
    • 304 Not Modified: Zdroj sa od posledného odoslania nezmenil.
  • 4xx Chyby klienta: Požiadavka obsahuje syntaktickú chybu alebo nemôže byť splnená.
    • 400 Bad Request: Server nerozumie požiadavke kvôli neplatnej syntaxi.
    • 401 Unauthorized: Pre prístup ku zdroju je potrebná autentifikácia.
    • 403 Forbidden: Server rozumie požiadavke, ale odmieta ju autorizovať.
    • 404 Not Found: Server nemôže nájsť požadovaný zdroj.
  • 5xx Chyby servera: Server nemôže správne spracovať správne formátovanú požiadavku.
    • 500 Internal Server Error: Všeobecná chyba servera pri spracovaní požiadavky.
    • 502 Bad Gateway: Server, ktorý funguje ako brána alebo proxy, obdržal neplatnú odpoveď od nadriadeného servera.
    • 503 Service Unavailable: Server momentálne nemôže spracovať požiadavku kvôli dočasnému preťaženiu alebo údržbe.

Príklady použitia pri testovaní:

  • Testovanie API: Kontrola zhody vracaných stavových kódov s očakávanými (napríklad, 200 OK pri úspešnom získaní dát, 404 Not Found pri požiadavke na neexistujúci zdroj).
  • Testovanie webových aplikácií: Kontrola presmerovaní (stavové kódy 3xx), chýb zadania používateľom (stavové kódy 4xx), funkčnosti služieb pri zaťažení (stavový kód 503).

Príklad kontroly stavového kódu v Pythone s použitím requests:

import requests

url = "https://www.example.com"
response = requests.get(url)

# Kontrola, či bola požiadavka úspešná (stavový kód 2xx)
if response.status_code == 200:
    print("Požiadavka bola úspešná.")
else:
    print(f"Chyba pri vykonávaní požiadavky. Stavový kód: {response.status_code}")