Junior
Mis on HTTP vastuskoodid ja kuidas nad üksteisest erinevad?
sobes.tech AI
Vastus AI-lt
HTTP vastusekoodid — need on kolme numbrit, mille server tagastab vastusena kliendi päringule. Nad näitavad päringu töötlemise staatust ning annavad teavet selle kohta, kas see õnnestus, kas tekkis viga või on vaja täiendavat tegevust.
Koodid jagunevad viide klassi:
- 1xx (Informatiivsed): Päring on vastu võetud, töötlemine jätkub.
- 2xx (Õnnestunud): Päring on edukalt saadud, mõistetud ja töödeldud.
- 3xx (suunamised): Klient peab tegema täiendavaid samme päringu lõpetamiseks.
- 4xx (Kliendi vead): Päring sisaldab süntaksiviga või seda ei saa täita.
- 5xx (Serveri vead): Server ei suutnud päringut täita.
Koodide erinevused on nende semantikas, mis on seotud erinevate päringutöötluse etappidega ja võimalikud tulemustega.
Sageli kasutatavad koodinäited:
| Kood | Kirjeldus | Klass |
|---|---|---|
| 200 | Okei | Õnnestunud |
| 201 | Loobud | Õnnestunud |
| 301 | Püsiv ümbersuunamine | Suunamised |
| 302 | Leitud | Suunamised |
| 400 | Vale päring | Kliendi vead |
| 401 | Pole autoriseeritud | Kliendi vead |
| 403 | Keelatud | Kliendi vead |
| 404 | Ei leitud | Kliendi vead |
| 500 | Sise serveri viga | Serveri vead |
| 503 | Teenus pole saadaval | Serveri vead |
// HTTP vastuse töötlemise näide JavaScriptis
fetch('/api/data')
.then(response => {
if (response.ok) { // Eduka staatuse (2xx) kontroll
return response.json();
} else {
// Vea töötlemine vastusstaatuskoodi põhjal
console.error(`HTTP viga: ${response.status}`);
if (response.status === 404) {
console.error('Resurssi ei leitud.');
}
throw new Error(`HTTP viga: ${response.status}`);
}
})
.then(data => {
console.log('Saadud andmed:', data);
})
.catch(error => {
console.error('Andmete laadimisel tekkis viga:', error);
});