HTTP Status Codes / HTTP Error Codes
Ein Webserver liefert auf jede Anfrage einen HTTP Status Code als Antwort. Eine Anfrage kommt eigentlich immer von einem Client, der beispielsweise einen Webbrowser nutzt. Durch diesen HTTP Error Code teilt der Server mit, ob die Anfrage erfolgreich war, oder fehlgeschlagen ist. Tritt ein Fehler auf, liefert der Server beispielsweise einen HTTP Status Code 404 zurück, welcher einer der Bekanntesten ist. Dieser Bedeutet “not found / nicht gefunden”. Da es ganz viele verschiedene Arten von Fehlercodes / Errorcodes gibt, kann sich eigentlich niemand alle HTTP Stati merken. Deswegen haben wir eine HTTP Status Codes / HTTP Error Codes Übersicht, die alle uns bekannten Status Codes auflistet.
HTTP Status Codes / HTTP Error Codes
Da es eine lange Liste von verschiedenen HTTP Status Codes gibt, haben wir diese für euch zusammengefasst. Es gibt bei den Status Codes in HTTP folgende Kategorien:
- Information
- Erfolgreich / Success
- Umleitung / Redirection
- Client Fehler / Client Error
- Server Fehler / Server Error
- Proprietäre Fehler / Proprietary Error
Information
Ein Status Code der mit einer Eins (1) beginnt, liefert nur eine Information zurück. Dies bedeutet, dass die Bearbeitung der Anfrage an den Server noch andauert.
100 – Continue
Die Laufende Anfrage an den Server dauert derzeit noch an und wurde noch nicht zurückgewiesen.
101 – Switching Protocol
Diese wird verwendet, wenn der Server eine Anfrage zu einem Protokollwechsel erhalten hat und damit einverstanden ist. Beispielsweise der Wechsel von HTTP auf WebSocket.
102 – Processing
Status 102 wird verwendet um einen Timeout des Servers zu vermeiden, welcher eine zeit-intensive Anfrage bearbeiten muss.
Erfolgreich / Success
Die Anfrage war erfolgreich und die Antwort darauf kann verarbeitet werden. Das sagt die Zahl (2) am Anfang aus.
200 – OK
Die Anfrage wurde erfolgreich verarbeitet. Das Ergebnis wird in der Antwort übertragen.
201 – Created
Die Anfrage wurde erfolgreich verarbeitet. Die gewünschte Ressource wurde erstellt.
202 – Accepted
Die Anfrage wurde akzeptiert, wird aber erst zu einem späteren Zeitpunkt ausgeführt.
203 – Non-Authoritative Information
Der Server agiert als „Transforming Proxy“, erhielt eine 200 OK Antwort von der Quelle und antwortet mit einem veränderten Dokument.
204 – No Content
Die Anfrage wurde erfolgreich durchgeführt, die Antwort enthält jedoch keine Daten.
205 – Reset Content
Die Anfrage wurde erfolgreich durchgeführt. Der Client soll das Dokument neu aufbauen und Formulareingaben zurücksetzen.
206 – Partial Content
Der angeforderte Teil wurde erfolgreich übertragen.
207 – Multi Status
Die Antwort enthält ein XML-Dokument, das mehrere Statuscodes enthält.
208 – Already Reported
Die Mitglieder einer WebDAV Bindung wurden bereits zuvor aufgezählt.
226 – IM Used
Der Server hat eine GET-Anforderung für die Ressource erfüllt.
Umleitung / Redirection
Um eine erfolgreiche Bearbeitung sicherzustellen, sind weitere Schritte des Clients erforderlich. Es wird auf eine andere URL verwiesen, auf welche weitergeleitet wird. Hier wird die Zahl (3) verwendet.
300 – Multiple Choices
Die angeforderte Ressource steht in mehreren Arten zur Verfügung.
301 – Moved Permanently
Die angeforderte Ressource ist unter der alten URL nicht mehr zur Verfügung. Es wird auf eine neue URL verwiesen und weitergeleitet.
302 – Found
Die angeforderte Ressource ist vorübergehend nicht mehr unter der alten URL zur Verfügung. Es wird auf die neue URL weitergeleitet.
303 – See Other
Der Browser soll auf ein GET wechseln, obwohl die Anfrage ein POST war.
304 – Not Modified
Der Inhalt der Ressource hat sich nicht verändert und wird daher nicht übertragen.
305 – Use Proxy
Die gewünschte Ressource ist nur über einen Proxy erreichbar.
306 – Switch Proxy
306 wird heute nicht mehr verwendet, war aber früher “Switch Proxy”
307 – Temporary Redirect
Die angeforderte Ressource steht vorübergehend unter einer anderen URL bereit.
308 – Permanent Redirect
Die angeforderte Ressource steht ab jetzt immer unter einer anderen URL bereit.
Client Fehler / Client Error
Diese Fehlermeldungen werden ausgegeben, wenn die Ursache auf Seiten des Clients liegt. Diese Fehler gehen mit der Zahl (4) voraus.
400 – Bad Request
Der Aufbau der Anfrage ist fehlerhaft.
401 – Unauthorized
Die Anfrage wurde zwecks fehlender Authentifizierung abgelehnt.
402 – Payment Required
Bezahlung benötigt, reserviert für zukünftige Protokolle.
403 – Forbidden
Die Anfrage wurde zwecks mangelnder Berechtigungen abgelehnt.
404 – Not Found
Die wohl bekannteste Fehlermeldung. Die Ressource wurde auf dem Server nicht gefunden.
405 – Method Not Allowed
Die Anfrage darf nur mit einer anderen Methode gestellt werden, beispielsweise GET statt POST.
406 – Not Acceptable
Die gewünschte Ressource steht nicht in der gewünschten Form zur Verfügung.
407 – Proxy Authentication Required
Hier ist zunächst eine Authentifizierung des Clients gegenüber dem verwendeten Proxy erforderlich.
408 – Request Timeout
Die Antwort des Clients läuft in einen Timeout.
409 – Conflict
Die Anfrage wurde unter falschen Annehmen gestellt.
410 – Gone
Die gewünschte Ressource wurde dauerhaft entfernt.
411 – Lenght Required
Es wird ein „Content-Length“ Header Feld in der Anfrage benötigt.
412 – Precondition Failed
Eine Voraussetzung in der Anfrage wurde nicht ordnungsgemäß erfüllt.
413 – Request Entity Too Large
Die vom Client gestellte Anfrage war zu groß.
414 – URL Too Long
Die URL der Anfrage ist zu lang und wird nicht bearbeitet.
415 – Unsupported Media Type
Der MIME Type der Anfrage wird nicht unterstützt.
416 – Requested range not satisfiable
Ein angeforderter Teil einer Ressource war ungültig oder ist nicht auffindbar.
417 – Expectation Failed
Das im „Expect“-Header-Feld geforderte Verhalten des Servers kann nicht erfüllt werden.
420 – Policy Not Found
Eine Bedingung wurde nicht erfüllt.
421 – Misdirected Request
Der Server ist nicht in der Lage eine Antwort zu senden.
422 – Unprocessable Entity
Eigentlich Fehler Code 400, aber zwecks anderer Fehler abgelehnt.
423 – Locked
Die gewünschte Ressource ist derzeit gesperrt.
424 – Failed Dependency
Eine vorherige Anfrage muss erst erfüllt werden, bevor diese Anfrage beantwortet werden kann.
426 – Upgrade Required
Der Client muss die Anfrage erst mit einem anderen Protokoll stellen, beziehungsweise wiederholen.
428 – Precondition Required
Für die Anforderungen müssen erst andere Dinge erfüllt sein.
429 – Too Many Requests
Der Client hat zu viele Anfragen in einer bestimmten Zeit gestellt.
431 – Request Header Fields Too Large
Die Maximallänge des Headers wurde überschritten.
451 – Unavailable for legal Reasons
Die Ressource ist zwecks Urheberrechts-Verletzungen oder Copyright gesperrt.
418 – I Am a teapot
Ist ein Aprilscherz, “bin beim Tee-kochen”. Dieser Code ist reserviert für zukünftige Error Codes.
425 – Unordered Collection
Ehrlich gesagt – keine Ahnung…
444 – No Response
Server sendet keine Informationen zum Client und schließt die Verbindung.
449 – The request should be retried after doing the appropriate action
Antwort eines Microsoft Exchange Servers
499 – Client Closed Request
Client schließt die Verbindung, während der Webserver die Anforderungen bearbeitet.
Server Fehler / Server Error
Diese Fehler lassen sich meist auf einen Fehler des Webservers schließen. Diese sind aber ähnlich zu den Client Fehlern, beginnen aber mit der Zahl (5).
500 – Internal Server Error
Diese Fehlermeldung ist eine allgemeine Fehlermeldung für unerwartete Fehler seitens des Servers.
501 – Not Implemented
Die Funktion eine Anfrage zu bearbeiten wird vom Server nicht unterstützt. Beispiel ist hier eine unbekannte HTTP Methode.
502 – Bad Gateway
Der Webserver konnte seine Funktion als Proxy, beziehungsweise Gateway nicht erfüllen.
503 – Service Unavailable
Der Server Dienst steht derzeit nicht zur Verfügung. Meistens sind Wartungsarbeiten oder Überlastungen der Grund.
504 – Gateway Timeout
Der Server erhält von seinen Diensten keine Rückmeldung und läuft in einen Timeout.
505 – HTTP Version not supported
Die benutzte HTTP Version wird vom Server nicht unterstützt.
506 – Variant Also Negotiates
Anfrage läuft in einen Loop
507 – Insufficient Storage
Der Speicher des Servers ist erschöpft oder voll.
508 – Loop Detected
Die Anforderung würde in eine Endlosschleife (Loop) laufen. Anfrage abgelehnt.
509 – Bandwidth Limit Exceeded
Anfrage abgelehnt, da sonst die verfügbare Bandbreite überschritten werden würde.
510 – Not Extended
Die Anfrage enthält nicht alle notwendigen Informationen, welche der Server benötigen würde.
511 – Network Authentication Required
Der Client muss sich authentifizieren, um Zugang zum Netzwerk zu bekommen.
Proprietäre Fehler / Proprietary Error
Manche Softwarehersteller verwenden den Bereich ab 900 für ihre eigenen HTTP Status Codes. Dieser Bereich der Zahlen wurde in den RFC-Dokumenten nie erwähnt. Dadurch ist er leicht als Sonderfall erkennbar und hat spezifische Error Codes eines Herstellers zu bedeuten.
Ich hoffe wir könnten euch mit dieser HTTP Status Codes / HTTP Error Codes Liste, beziehungsweise Übersicht, weiterhelfen. 🙂