Junior
Co jsou to kódy odpovědí HTTP a v čem se od sebe liší?
sobes.tech AI
Odpověď od AI
Kódy odpovědí HTTP jsou tříciferná čísla, která server vrací jako odpověď na požadavek klienta. Uvádějí stav zpracování požadavku a poskytují informace o tom, zda byl úspěšně dokončen, zda došlo k chybě nebo zda je třeba další akce.
Kódy jsou rozděleny do pěti tříd:
- 1xx (Informační): Požadavek byl přijat, zpracování pokračuje.
- 2xx (Úspěšné): Požadavek byl úspěšně přijat, pochopen a zpracován.
- 3xx (Přesměrování): Klient musí provést další kroky k dokončení požadavku.
- 4xx (Chyby klienta): Požadavek obsahuje syntaktickou chybu nebo nelze jej zpracovat.
- 5xx (Chyby serveru): Server nemohl požadavek splnit.
Rozdíly mezi kódy spočívají v jejich sémantice, která se vztahuje na různé fáze zpracování požadavku a možné výsledky.
Příklady běžně používaných kódů:
| Kód | Popis | Třída |
|---|---|---|
| 200 | OK | Úspěšné |
| 201 | Vytvořeno | Úspěšné |
| 301 | Trvale přemístěno | Přesměrování |
| 302 | Nalezeno | Přesměrování |
| 400 | Špatný požadavek | Chyby klienta |
| 401 | Neautorizováno | Chyby klienta |
| 403 | Zakázáno | Chyby klienta |
| 404 | Nenalezeno | Chyby klienta |
| 500 | Interní chyba serveru | Chyby serveru |
| 503 | Služba nedostupná | Chyby serveru |
// Příklad zpracování odpovědi HTTP v JavaScriptu
fetch('/api/data')
.then(response => {
if (response.ok) { // Kontrola úspěšného stavu (2xx)
return response.json();
} else {
// Zpracování chyb na základě kódu stavu
console.error(`Chyba HTTP: ${response.status}`);
if (response.status === 404) {
console.error('Zdroj nenalezen.');
}
throw new Error(`Chyba HTTP: ${response.status}`);
}
})
.then(data => {
console.log('Obdržená data:', data);
})
.catch(error => {
console.error('Chyba při načítání dat:', error);
});