HTTP-Statuscodes in API-Antworten: Was sie sind und was sie bedeuten
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.
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.
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 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.
Die HTTP-Statuscodes sind in fünf Klassen unterteilt, die jeweils mit einer Ziffer beginnen, die die Art der Antwort angibt:
Jede Art von Antwort umfasst wiederum mehrere mögliche Meldungen. Hier sind die gebräuchlichsten.
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.
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.
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.
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:
Fehlermeldungen betreffen nicht nur den Client: Es gibt auch interne Serverfehler, die durch einen dreistelligen Code, der mit 5 beginnt, angezeigt werden: