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