Junior
Was sind HTTP-Statuscodes und worin unterscheiden sie sich voneinander?
sobes.tech KI
Antwort von AI
HTTP-Antwortcodes sind dreistellige Zahlen, die vom Server als Antwort auf eine Client-Anfrage zurückgegeben werden. Sie geben den Status der Verarbeitung der Anfrage an und liefern Informationen darüber, ob sie erfolgreich war, ein Fehler aufgetreten ist oder ob eine zusätzliche Aktion erforderlich ist.
Die Codes werden in fünf Klassen unterteilt:
- 1xx (Informativ): Anfrage wurde akzeptiert, die Verarbeitung wird fortgesetzt.
- 2xx (Erfolgreich): Die Anfrage wurde erfolgreich empfangen, verstanden und verarbeitet.
- 3xx (Weiterleitungen): Der Client muss weitere Aktionen durchführen, um die Anfrage abzuschließen.
- 4xx (Client-Fehler): Die Anfrage enthält einen Syntaxfehler oder kann nicht verarbeitet werden.
- 5xx (Server-Fehler): Der Server konnte die Anfrage nicht ausführen.
Die Unterschiede zwischen den Codes liegen in ihrer Semantik, die sich auf die verschiedenen Phasen der Anfrageverarbeitung und mögliche Ergebnisse bezieht.
Beispiele für häufig verwendete Codes:
| Code | Beschreibung | Klasse |
|---|---|---|
| 200 | OK | Erfolgreich |
| 201 | Erstellt | Erfolgreich |
| 301 | Dauerhaft verschoben | Weiterleitungen |
| 302 | Gefunden | Weiterleitungen |
| 400 | Schlechte Anfrage | Client-Fehler |
| 401 | Nicht autorisiert | Client-Fehler |
| 403 | Verboten | Client-Fehler |
| 404 | Nicht gefunden | Client-Fehler |
| 500 | Interner Serverfehler | Server-Fehler |
| 503 | Dienst nicht verfügbar | Server-Fehler |
// Beispiel für die Verarbeitung einer HTTP-Antwort in JavaScript
fetch('/api/data')
.then(response => {
if (response.ok) { // Überprüfung auf erfolgreichen Status (2xx)
return response.json();
} else {
// Fehlerbehandlung basierend auf dem Statuscode
console.error(`HTTP-Fehler: ${response.status}`);
if (response.status === 404) {
console.error('Ressource nicht gefunden.');
}
throw new Error(`HTTP-Fehler: ${response.status}`);
}
})
.then(data => {
console.log('Daten empfangen:', data);
})
.catch(error => {
console.error('Fehler beim Laden der Daten:', error);
});