Sobes.tech
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);
  });