Sobes.tech
Junior

Povedzte mi o kódoch stavu HTTP.

sobes.tech AI

Odpoveď od AI

Kódy stavu HTTP sú štandardné trojmiestne čísla, ktoré server vracia ako odpoveď na požiadavku klienta. Ukazujú výsledok spracovania požiadavky.

Kategórie kódov stavu:

  • 1xx (Informačné): Server prijal požiadavku a pokračuje v procese.
  • 2xx (Úspech): Požiadavka bola úspešne spracovaná.
  • 3xx (Presmerovanie): Vyžaduje sa ďalšia akcia na vykonanie požiadavky.
  • 4xx (Chyba klienta): Požiadavka obsahuje syntaktickú chybu alebo nemôže byť spracovaná.
  • 5xx (Chyba servera): Server nemohol požiadavku splniť, hoci bola platná.

Často používané kódy stavu:

Kód Názov Popis
200 OK Požiadavka bola úspešne spracovaná.
201 Created Zdroj bol úspešne vytvorený.
204 No Content Požiadavka bola úspešne spracovaná, odpoveď neobsahuje telo.
301 Moved Permanently Zdroj bol trvalo presunutý na nový URL.
302 Found Zdroj je dočasne dostupný na inom URL.
304 Not Modified Zdroj sa od poslednej požiadavky nezmenil.
400 Bad Request Server nemohol pochopiť požiadavku kvôli nesprávnej syntaxi.
401 Unauthorized Vyžaduje sa overenie.
403 Forbidden Prístup k zdroju je zakázaný.
404 Not Found Hľadaný zdroj nebol nájdený.
405 Method Not Allowed Metóda HTTP použitá v požiadavke nie je povolená pre zdroj.
409 Conflict Konflikt pri spracovaní požiadavky, napríklad vytváranie existujúceho zdroja.
422 Unprocessable Entity Syntakticky správna požiadavka, ale semanticky nesprávna.
500 Internal Server Error Vnútorná chyba servera.
501 Not Implemented Server nepodporuje funkciu potrebnú na vykonanie požiadavky.
503 Service Unavailable Server je dočasne nedostupný.

Počas testovania API sú kódy stavu kľúčové indikátory úspešnosti alebo neúspešnosti testu. Kontrola správneho kódu stavu pre každý typ požiadavky (GET, POST, PUT, DELETE atď.) v rôznych scenároch (úspech, chyba validácie, absencia zdroja, autorizácia) je základom funkčného testovania API.

Napríklad, pri vytváraní nového zdroja (POST požiadavka) sa očakáva kód 201 Created, pri získavaní neexistujúceho zdroja (GET požiadavka) - 404 Not Found.

import requests

# Príklad kontroly kódu stavu pri úspešnej požiadavke
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
# Očakávame kód 200 OK
assert response.status_code == 200

# Príklad kontroly kódu stavu pri neexistujúcom zdroji
response_not_found = requests.get('https://jsonplaceholder.typicode.com/posts/9999')
# Očakávame kód 404 Not Found
assert response_not_found.status_code == 404