HTTP Statuscodes

Ein HTTP-Server gibt nach der Verarbeitung einer Anfrage (Request) u.a. einen Statuswert zurück, inwieweit die vom Client gestellt Anfrage verarbeitet werden konnte. Dabei besteht der Statuswert aus einer dreistelligen Zahl sowie ggf. einer textuellen Beschreibung. Ein Client muss dabei nicht die textuelle Beschreibung auswerten oder darstellen können, dies ist von der RFC nicht gefordert, da die in den RFCs vorgestellten Beschreibungen nur Vorschläge sind, die auch von HTTP-Server Implementationen mit anderen Beschreibungen versehen werden können. Denkbar sind hier u.a. die Übersetzung der vorgeschlagenen englischsprachigen Beschreibungen in die Landessprache.

In der RFC 1945 für HTTP/1.0 und RFC 2616 für HTTP/1.1 sind einige Statuswerte festgelegt, die durch eigene Werte erweitert werden können. Dabei sind die Statuswerte in verschiedene Klassen eingeteilt worden, wobei die erste Zahl des dreistelligen Statuswerts die Klasse spezifiziert.

  • 1xx: Informationen – eine Anfrage wurde erhalten und weiter verarbeitet.
  • 2xx: Erfolgreich – Die Aktion wurde erfolgreich erhalten, verstanden und akzeptiert.
  • 3xx: Umleitungen – Weiterführende Aktionen musten ausgeführt werden um die Anfrage vollständig auszuführen.
  • 4xx: Clientfehler – Die Anfrage enthielt eine ungültige Syntax oder konnte nicht erfüllt werden.
  • 5xx: Serverfehler – Der Server konnte eine gültige Anfrage nicht erfüllen.

Statuswert HTTP/1.0 HTTP/1.1 empfohlende Beschreibung
100 x Continue
101 x Switching Protocols
200 x x OK
201 x Created
202 x x Accepted
203 x Non-Authoritative Information
204 x x No Content
205 x Reset Content
206 x Partial Content
300 x Multiple Choices
301 x x Moved Permanently
302 x x HTTP/1.0: Moved Temporarily
HTTP/1.1: Found
303 x See Other
304 x x Not Modified
305 x Use Proxy
307 x Temporary Redirect
400 x x Bad Request
401 x x Unauthorized
402 x Payment Required
403 x x Forbidden
404 x x Not Found
405 x Method Not Allowed
406 x Not Acceptable
407 x Proxy Authentication Required
408 x Request Time-out
409 x Conflict
410 x Gone
411 x Length Required
412 x Precondition Failed
413 x Request Entity Too Large
414 x Request-URI Too Large
415 x Unsupported Media Type
416 x Requested range not satisfiable
417 x Expectation Failed
500 x x Internal Server Error
501 x x Not Implemented
502 x x Bad Gateway
503 x x Service Unavailable
504 x Gateway Time-out
505 x HTTP Version not supported