Sobes.tech
Junior

Šta su HTTP kodovi odgovora i u čemu se razlikuju jedni od drugih?

sobes.tech АИ

Одговор од АИ

HTTP kodovi odgovora su trocifreni brojevi koje server vraća kao odgovor na zahtev klijenta. Oni ukazuju na status obrade zahteva i pružaju informacije o tome da li je uspešno završen, da li je došlo do greške ili je potrebna dodatna akcija.

Kodovi su podeljeni u pet klasa:

  • 1xx (Informativni): Zahtev je prihvaćen, obrada se nastavlja.
  • 2xx (Uspešni): Zahtev je uspešno primljen, shvaćen i obrađen.
  • 3xx (Preusmeravanja): Klijent mora da preduzme dodatne radnje za završetak zahteva.
  • 4xx (Greške klijenta): Zahtev sadrži sintaksnu grešku ili ne može biti obrađen.
  • 5xx (Greške servera): Server nije uspeo da izvrši zahtev.

Razlike između kodova leže u njihovoj semantici, koja se odnosi na različite faze obrade zahteva i moguće ishode.

Primeri često korišćenih kodova:

Kod Opis Klasa
200 U redu Uspešni
201 Kreirano Uspešni
301 Trajno premešteno Preusmeravanja
302 Nađeno Preusmeravanja
400 Loš zahtev Greške klijenta
401 Nije autorizovano Greške klijenta
403 Zabranjeno Greške klijenta
404 Nije pronađeno Greške klijenta
500 Interna greška servera Greške servera
503 Usluga nedostupna Greške servera
// Primer obrade HTTP odgovora u JavaScript-u
fetch('/api/data')
  .then(response => {
    if (response.ok) { // Provera uspešnog statusa (2xx)
      return response.json();
    } else {
      // Obrada grešaka na osnovu koda statusa
      console.error(`HTTP greška: ${response.status}`);
      if (response.status === 404) {
        console.error('Resurs nije pronađen.');
      }
      throw new Error(`HTTP greška: ${response.status}`);
    }
  })
  .then(data => {
    console.log('Primljeni podaci:', data);
  })
  .catch(error => {
    console.error('Greška pri učitavanju podataka:', error);
  });