HomeBlogREST-API-Statuscodes: Was sie sind und wie sie funktionieren
API-Grundlagen

REST-API-Statuscodes: Was sie sind und wie sie funktionieren

HTTP-Statuscodes in API-Antworten: Was sie sind und was sie bedeuten

Halluzinationen

HTTP-Statuscodes oder Statuscodes sind dreistellige Codes, die das Ergebnis einer Kommunikation zwischen Clients und Servern, die das HTTP-Protokoll verwenden, wie Webbrowser und API-Anwendungen, anzeigen.

Diese Codes, die dem Nutzer des Dienstes im Allgemeinen verborgen bleiben, ermöglichen es dem Client, das Ergebnis seiner Anfrage zu erfahren, noch bevor er die Nutzlast, d. h. die eigentliche Antwort, analysiert hat.

Zu den häufigsten HTTP-Codes gehören der HTTP-Status 404, der erscheint, wenn versucht wird, eine Verbindung zu einer nicht existierenden Webseite herzustellen, und der HTTP-Status 500, der einen Serverfehler anzeigt. Aber auch erfolgreiche Anfragen haben ihre eigenen Codes: Sehen wir uns an, welche das sind und was sie anzeigen.

HTTP-Status-Codes in REST-APIs

Das HTTP-Protokoll ist ein in Client-Server-Architekturen weit verbreitetes Informationstransportverfahren, das auch in REST-API-Aufrufen eine perfekte Anwendung gefunden hat.

Bei API-Aufrufen passiert genau das, was passiert, wenn ein HTTP-Client beim Surfen im Internet einen Server um eine Ressource bittet: Wenn der API-Client seine Anfrage stellt, antwortet der Server, indem er den HTTP-Statuscode sendet, der die Art der Antwort angibt. Was sich ändert, ist der Inhalt der Antwort, oder Payload, der anstelle einer HTML-Seite eine json-Datei enthält.

HTTP-Codes sind für alle Anwendungen, die über dieses Protokoll kommunizieren, identisch und sind Teil der Antwort eines HTTP-Servers.

Wie sieht eine REST-API-Antwort aus?

Wenn ein API-Client einen Server abfragt, erhält er eine Antwort zurück, die eine Vielzahl von Informationen enthält und neben den technischen Spezifikationen einige grundlegende Abschnitte umfasst:

  • HTTP-Statuscodes: Diese bestehen aus drei Ziffern. Sie zeigen das Ergebnis der Kommunikation an und geben dem Client Informationen über das weitere Vorgehen;
  • Header: enthält die Header-Attribute, die im Allgemeinen das Format des Anfragekörpers, die Antwort-Cache-Zeit und vor allem die dem Client zur Verfügung stehenden Berechtigungen betreffen;
  • Payload: Dies ist der eigentliche Inhalt der API-Antwort, d. h. derjenige, der die Daten enthält.

HTTP-Statuscodes sind ein integraler Bestandteil einer API-Antwort: Durch ihre Übermittlung kann der Client erfahren, was während der Übertragung passiert ist, noch bevor er den Inhalt der Antwort analysiert hat. Ein HTTP-Status 403 bedeutet beispielsweise, dass der Client zwar authentifiziert ist, aber keinen Zugriff auf die angeforderte Ressource hat. Ein Statuscode 200 hingegen bedeutet, dass die Anfrage erfolgreich war und der Server die angeforderten Daten zurückgegeben hat.

HTTP-Status-Codes: Was sie sind

Die HTTP-Statuscodes sind in fünf Klassen unterteilt, die jeweils mit einer Ziffer beginnen, die die Art der Antwort angibt:

  • 1xx - Informationsmeldung: Diese Art der Antwort zeigt an, dass der Server die Anfrage erhalten hat und sie bearbeitet;
  • 2xx - Erfolgsmeldung: Die Anfrage wurde vom Server empfangen, verstanden und korrekt verarbeitet;
  • 3xx - Redirection Response: informiert den Client, dass er zusätzliche Aktionen durchführen muss, um die Anfrage zu erfüllen (z. B. wenn eine Ressource übertragen wird, fordert der HTTP-Status 301 auf, auf die neue Url zu zeigen);
  • 4xx - Client-Fehlermeldung: erscheint z. B., wenn die Anmeldedaten ungültig sind oder die Anfrage falsch eingegeben wurde;
  • 5xx - Server-Fehlerantwort: zeigt an, dass der Server der Anfrage nicht nachgekommen ist, weil er auf einen Fehler gestoßen ist oder die Anfrage nicht bearbeiten konnte.

Jede Art von Antwort umfasst wiederum mehrere mögliche Meldungen. Hier sind die gebräuchlichsten.

Antwortcode HTTP 1xx: Informationsnachricht

Informationsmeldungen werden gesendet, wenn der Server die Anfrage erhalten hat und mit der Bearbeitung der Anfrage fortfährt: Sie werden häufig verwendet, um zu verhindern, dass der Client eine Zeitüberschreitung erleidet, während er auf die Antwort wartet, können aber auch anzeigen, dass weitere Informationen gesendet werden müssen, um die Anfrage zu vervollständigen.

  • 100 - Fortsetzen: Der erste Teil der Anfrage wurde empfangen und der Server bittet darum, den Rest zu senden (zum Beispiel: er hat den Header mit den Anmeldeinformationen empfangen und bittet darum, die Payload zu senden);
  • 101 - Protokollwechsel: Der Client hat darum gebeten, das verwendete Protokoll zu ändern, und der Server teilt den Protokollwechsel in der Verbindung mit;
  • 102 - Bearbeitung: zeigt an, dass der Server die Anfrage noch bearbeitet.

HTTP-Codes 2xx: Erfolg

Erfolgsmeldungen zeigen an, dass die Anfrage empfangen und erfolgreich bearbeitet wurde. Dies bedeutet nicht unbedingt, dass der Client das erhält, was er wollte: Die Antwort des Servers kann sogar inhaltslos sein.

  • 200 - OK: bedeutet, dass die Anfrage erfolgreich war und der Server die angeforderten Daten zurückgegeben hat;
  • 201 - Created: bedeutet, dass die Anfrage erfolgreich war und der Server eine neue Ressource erstellt hat;
  • 204 - No content: Die Anfrage war erfolgreich, aber es gibt keine Daten zu übertragen.

HTTP-Codes 3xx: Umleitungsantworten

HTTP-Codes, die mit 3 beginnen, zeigen an, dass der Client zusätzliche Aktionen durchführen muss, um die Anfrage zu erfüllen: Sie werden zum Beispiel verwendet, wenn die gesuchte Ressource an einen anderen Ort verschoben wurde.

  • 301 - Moved Permanently: Die Ressource wurde auf eine neue URL verschoben, so dass der Client die Links aktualisieren und auf die neue Adresse verweisen muss;
  • 303 - See Other: zeigt an, dass die Antwort unter einer anderen Adresse verfügbar ist, so dass der Client eine GET-Anfrage an diese Url stellen muss, um sie abzurufen.

HTTP-Fehlercodes: die 4xx-Codes

Fehlercodes, die mit der Zahl 4 beginnen, sind bei API-Client-Benutzern vielleicht am meisten gefürchtet, da sie darauf hinweisen, dass die Anfrage aufgrund eines Fehlers auf Seiten des Clients nicht erfüllt werden kann, der möglicherweise die Syntax verwechselt hat oder nicht über die erforderlichen Berechtigungen verfügt. Die häufigsten HTTP 400 Status Codes sind:

  • Fehler 400 - Bad request: Die Anfrage ist ungültig oder nicht korrekt geschrieben;
  • Fehler 401 - Unautorisiert: Der Client hat keine Berechtigung, auf die Ressource zuzugreifen;
  • Fehler 403 - Forbidden: Der Client ist authentifiziert, aber nicht berechtigt, auf die Anfrage zuzugreifen;
  • Fehler 404 - Not found: Die angeforderte Ressource wurde auf dem Server nicht gefunden:
  • Fehler 408 - Request Timeout: Die Zeit zum Senden der Anfrage ist abgelaufen und der Server hat die Verbindung beendet;
  • Fehler 429 - Too many requests: bedeutet, dass der Client zu viele Anfragen in einem kurzen Zeitraum gestellt hat, für den es Anrufgrenzen gibt.

Fehlermeldungen 500: Server-Fehler

Fehlermeldungen betreffen nicht nur den Client: Es gibt auch interne Serverfehler, die durch einen dreistelligen Code, der mit 5 beginnt, angezeigt werden:

  • 500 - Interner Serverfehler: Dies ist ein allgemeiner Code, der auf einen Serverfehler hinweist, der verhindert hat, dass die Anfrage bearbeitet werden konnte;
  • 502 - Bad Gateway: Ein Server, der als Gateway oder Proxy fungiert, hat eine ungültige Antwort von einem vorgeschalteten Server erhalten;
  • 503 - Service Unavailable: bedeutet, dass der Server vorübergehend nicht in der Lage ist, die Anfrage zu bearbeiten, z. B. weil er gewartet wird oder ein hohes Verkehrsaufkommen herrscht.

 

Greifen Sie auf zuverlässige, hochwertige Daten zu!
Entdecken Sie über 400 Dienste
Dienste auf dem Openapi.com-Marktplatz

JETZT ENTDECKEN

REST-API-Statuscodes: Was sie sind und wie sie funktionieren
Teilen auf