Junior
Ce sunt codurile de răspuns HTTP și în ce constă diferența dintre ele?
sobes.tech AI
Răspuns de la AI
Codurile de răspuns HTTP sunt numere formate din trei cifre, returnate de server ca răspuns la o solicitare a clientului. Ele indică stadiul procesării solicitării și oferă informații despre dacă aceasta a fost finalizată cu succes, dacă a apărut o eroare sau dacă este necesară o acțiune suplimentară.
Codurile sunt împărțite în cinci clase:
- 1xx (Informaționale): Solicitarea a fost acceptată, procesarea continuă.
- 2xx (Reușite): Solicitarea a fost primită, înțeleasă și procesată cu succes.
- 3xx (Redirecționări): Clientul trebuie să efectueze acțiuni suplimentare pentru a finaliza solicitarea.
- 4xx (Erori ale clientului): Solicitarea conține o eroare de sintaxă sau nu poate fi procesată.
- 5xx (Erori ale serverului): Serverul nu a putut îndeplini solicitarea.
Diferențele dintre coduri țin de semantica lor, legată de diferitele etape ale procesării solicitării și rezultatele posibile.
Exemple de coduri frecvent utilizate:
| Cod | Descriere | Clasă |
|---|---|---|
| 200 | OK | Reușite |
| 201 | Creat | Reușite |
| 301 | Mutat permanent | Redirecționări |
| 302 | Găsit | Redirecționări |
| 400 | Solicitare greșită | Erori ale clientului |
| 401 | Neautorizat | Erori ale clientului |
| 403 | Interzis | Erori ale clientului |
| 404 | Nu găsit | Erori ale clientului |
| 500 | Eroare internă a serverului | Erori ale serverului |
| 503 | Serviciu indisponibil | Erori ale serverului |
// Exemplu de procesare a răspunsului HTTP în JavaScript
fetch('/api/data')
.then(response => {
if (response.ok) { // Verificare stare de succes (2xx)
return response.json();
} else {
// Tratarea erorilor pe baza codului de stare
console.error(`Eroare HTTP: ${response.status}`);
if (response.status === 404) {
console.error('Resursă negăsită.');
}
throw new Error(`Eroare HTTP: ${response.status}`);
}
})
.then(data => {
console.log('Date primite:', data);
})
.catch(error => {
console.error('Eroare la încărcarea datelor:', error);
});