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 OKpri úspešnom získaní dát,404 Not Foundpri 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ódy4xx), funkčnosti služieb pri zaťažení (stavový kód503).
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}")