In der Softwareentwicklung, insbesondere bei der Webentwicklung, spielen HTTP-Statuscodes eine entscheidende Rolle bei der Kommunikation zwischen einem Client (z. B. einem Webbrowser) und einem Server. Diese dreistelligen Codes geben Auskunft darüber, ob eine Anfrage erfolgreich war, umgeleitet wurde oder ob ein Fehler aufgetreten ist. Hier ist eine Liste der gängigsten und wichtigsten Statuscodes und ihre jeweilige Bedeutung.
Erfolgreiche Anfragen (2xx)
Diese Codes signalisieren, dass die Anfrage des Clients erfolgreich vom Server empfangen, verstanden und akzeptiert wurde.
- 200 OK: Dies ist der Standardcode für eine erfolgreiche Anfrage. Er bedeutet, dass alles wie erwartet funktioniert hat.
- 201 Created: Die Anfrage war erfolgreich und hat zur Erstellung einer neuen Ressource geführt. Dies wird häufig nach dem Absenden von Formulardaten verwendet, die einen neuen Eintrag in einer Datenbank erstellen.
- 204 No Content: Die Anfrage wurde erfolgreich bearbeitet, aber es wird kein Inhalt zurückgegeben. Dies ist nützlich, wenn eine Aktion bestätigt werden soll, ohne dass die Seite neu geladen oder eine neue Seite angezeigt werden muss.
Umleitungen (3xx)
Diese Codes zeigen an, dass der Client weitere Schritte unternehmen muss, um die Anfrage abzuschließen, in der Regel eine Weiterleitung an eine andere URL.
- 301 Moved Permanently: Die angeforderte Ressource wurde dauerhaft an eine neue URL verschoben. Der Client und Suchmaschinen sollten für zukünftige Anfragen die neue Adresse verwenden.
- 302 Found: Die Ressource wurde vorübergehend an eine andere URL verschoben. Der Client sollte für diese Anfrage die neue URL verwenden, aber für zukünftige Anfragen weiterhin die ursprüngliche Adresse nutzen.
- 304 Not Modified: Dies zeigt an, dass die angeforderte Ressource seit dem letzten Zugriff nicht verändert wurde. Der Client kann also die im Cache gespeicherte Version verwenden, was die Ladezeit verkürzt.
Client-Fehler (4xx)
Diese Fehlercodes deuten darauf hin, dass ein Problem mit der Anfrage des Clients vorliegt.
- 400 Bad Request: Der Server konnte die Anfrage aufgrund einer fehlerhaften Syntax nicht verstehen. Dies kann durch ungültige Zeichen oder ein falsches Format der Anfrage verursacht werden.
- 401 Unauthorized: Die Anfrage erfordert eine Authentifizierung. Der Client ist nicht angemeldet oder hat keine gültigen Anmeldeinformationen bereitgestellt.
- 403 Forbidden: Der Server hat die Anfrage verstanden, weigert sich aber, sie auszuführen. Im Gegensatz zu
401 Unauthorizedhilft hier auch eine Authentifizierung nicht weiter, da der Zugriff auf die Ressource grundsätzlich verweigert wird. - 404 Not Found: Der wohl bekannteste Fehlercode. Er bedeutet, dass der Server die angeforderte Ressource nicht finden konnte. Dies kann an einer falsch eingegebenen URL oder einer gelöschten Seite liegen.
- 429 Too Many Requests: Der Client hat in einem bestimmten Zeitraum zu viele Anfragen gesendet. Dies ist eine Maßnahme zum Schutz vor Überlastung des Servers.
Server-Fehler (5xx)
Diese Codes signalisieren, dass auf dem Server ein Fehler aufgetreten ist, der die Bearbeitung einer gültigen Anfrage verhindert hat.
- 500 Internal Server Error: Ein allgemeiner und unspezifischer Fehlercode, der anzeigt, dass auf dem Server ein unerwartetes Problem aufgetreten ist. Dies ist oft ein Hinweis auf einen Fehler im serverseitigen Code.
- 502 Bad Gateway: Der Server hat als Gateway oder Proxy eine ungültige Antwort von einem vorgeschalteten Server erhalten.
- 503 Service Unavailable: Der Server ist vorübergehend nicht verfügbar, beispielsweise aufgrund von Wartungsarbeiten oder Überlastung. Die Anfrage kann zu einem späteren Zeitpunkt erneut versucht werden.
- 504 Gateway Timeout: Der Server hat als Gateway oder Proxy nicht rechtzeitig eine Antwort von einem vorgeschalteten Server erhalten.