0251 / 590 644 - 0
info@a-coding-project.de

HTTP: Response-Codes

Die Response-Codes teilen dem Client mit, wie erfolgreich oder nicht erfolgreich der Request verlaufen ist. Der Response-Code ist eine dreistellige Zahl zwischen 100 und 599 - jeder Code gibt dabei einen bestimmten Status an. Die Codes selbst sind in bestimmte Bereiche (1xx, 2xx, 3xx, ...) gegliedert, die jeweils bestimmte Grundaussagen besitzen. Neben den fest definierten Response-Codes kann ein Server auch einen völlig anderen Code aus dem jeweiligen Bereich verwenden, sofern dieser vom Clienten unterstützt wird.

Response-Codes 100 - 199: Informelle Codes

Die Response-Codes 100 bis 199 sind rein informeller Natur und werden meist nur im Zusammenhang mit bestimmten Headern verwendet. Folgende sind definiert:

100 Continue

Teilt dem Client mit, dass der erste Teil bzw. der aktuelle Teil einer mehrteiligen Nachricht empfangen wurde und der Client mit dem weiteren Senden fortfahren kann.

101 Switching Protocols

Teilt dem Client mit, dass das verwendete Protokoll erfolgreich gewechselt wird.

Response-Codes 200 - 299: Request erfolgreich

Die Response-Codes 200 bis 299 zeigen dem Clienten an, dass der Request erfolgreich war. Folgende sind definiert:

200 OK

Teilt dem Client mit, dass der Request erfolgreich war und die angeforderten Daten gesendet werden.

201 Created

Teilt dem Client mit, dass der Request erfolgreich war und die Datei erstellt wurde. Bei diesem Response-Code wird immer der Location-Header verwendet um dem Clienten mitzuteilen, wie die neueURLheißt.

202 Accepted

Teilt dem Client mit, dass der Request akzeptiert wurde aber die Verarbeitung nicht abgeschlossen werden konnte. Im Nachrichtentext sollten sich dann Hinweise zur weiteren Vorgehensweise finden.

203 Non-Authoritative Information

Teilt dem Client mit, dass die Headerdaten nicht vom Server generiert wurden sondern von einer lokalen oder externen Quelle stammen.

204 No Content

Teilt dem Client mit, dass der Request ausgeführt wurde, der Response aber keine weiteren Daten mit sendet (der Body ist also leer).

205 Reset Content

Teilt dem Client mit, dass der Request ausgeführt wurde und der Client die Daten des Requests (meist Formulardaten) zurücksetzen soll.

206 Partial Content

Teilt dem Client mit, dass der Server den vom Client angeforderten Teil (Range) der Datei liefert. Bei diesem Code müssen die Header Content-Range, Date, ETag oder Content-Location) sowie Expires, Cache-Control und/oder Vary angegeben werden.

Response-Codes 300 - 399: Weiterleitung

Die Response-Codes 300 bis 399 teilen dem Client mit, dass eine Weiterleitung zu einer anderenURLzu erfolgen hat. Folgende sind definiert:

300 Multiple Choices

Teilt dem Client mit, dass es für die Anfrage mehrere Quellen zur Auswahl gibt. Im Body der Nachricht kann dazu eine Liste von möglichen Alternativ-Dokumenten angegeben werden.

301 Moved Permanently

Teilt dem Client mit, dass die URL nicht mehr existiert bzw. umgezogen ist. Zusammen mit diesem Response-Code wird der Location-Header angegeben um dem Clienten die neue Position mitzuteilen.

302 Found

Teilt dem Client mit, dass die URL temporär unter einer anderenURLzu finden ist. Zusammen mit diesem Response-Code wird der Location-Header angegeben um dem Clienten die neue Position mitzuteilen.

303 See Other

Teilt dem Client mit, dass die URL unter einer anderenURLzu finden ist. Zusammen mit diesem Response-Code wird der Location-Header angegeben um dem Clienten die neue Position mitzuteilen.

304 Not Modified

Teilt dem Client mit, dass die URL seit dem im Request mit If-Modified-Since oder If-None-Match angegebenen Datum nicht verändert wurde und deshalb aus dem Cache des Clienten geladen werden soll. Die angeforderte Datei wird nicht mit dem Response mitgeschickt.

305 Use Proxy

Teilt dem Client mit, dass der Zugriff auf die URL über einen bestimmten Proxy-Server erfolgen soll. Zusammen mit diesem Response-Code wird im Location-Header der Proxy-Server angegeben.

307 Temporary Redirect

Teilt dem Client mit, dass die URL temporär unter einer anderenURLzu finden ist. Zusammen mit diesem Response-Code wird der Location-Header angegeben um dem Clienten die neue Position mitzuteilen. Der Client soll dennoch zukünftig versuchen die Datei über diese URL (nicht die im Location-Header angegebene) zu erreichen.

Response-Codes 400 - 499: Fehler des Clienten

Die Response-Codes 400 bis 499 werden angegeben wenn der Client einen Fehler verursacht hat. Folgende sind definiert:

400 Bad Request

Teilt dem Client mit, dass der Request einen Syntaxfehler enthielt.

401 Unauthorized

Teilt dem Client mit, dass der Client sich nicht authentifiziert hat. Zusammen mit diesem Code wird der WWW-Authenticate Header geschickt.

402 Payment Required

Der Code wurde vorerst nur reserviert, kann aber nicht verwendet werden.

403 Forbidden

Teilt dem Client mit, dass der Request vom Server abgelehnt wurde.

404 Not Found

Teilt dem Client mit, dass die gesuchte Datei nicht existiert.

405 Method Not Allowed

Teilt dem Client mit, dass die verwendete HTTP-Methode für diese Datei nicht erlaubt ist. Der Server sendet bei diesem Code den Allow-Header mit.

406 Not Acceptable

Teilt dem Client mit, dass die gesuchte Datei zwar existiert, aber nicht im vom Client angeforderten Format vorliegt. Der Server sendet bei diesem Code die Header Content-Language, Content-Encoding und Content-Type.

407 Proxy Authentication Required

Teilt dem Client mit, dass der Client sich bei einem Proxy nicht authentifiziert hat. Zusammen mit diesem Code wird der Proxy-Authenticate Header geschickt.

408 Request Timeout

Teilt dem Client mit, dass der Server innerhalb der zur Verfügung stehenden Zeitspanne den Request nicht verarbeiten konnte.

409 Conflict

Teilt dem Client mit, dass es zu einem Konflikt mit anderen Requests oder dem Server gekommen ist und der Request daher nicht verarbeitet werden konnte.

410 Gone

Teilt dem Client mit, dass die angeforderte Datei nicht mehr auf dem Server existiert und auch nicht wieder existieren wird.

411 Length Required

Teilt dem Client mit, dass der Server den Request nicht ohne die Angabe des Content-length Headers akzeptiert.

412 Precondition Failed

Teilt dem Client mit, dass der Server keine Datei finden konnte, die einem oder mehreren If-...-Headern des Requests entspricht.

413 Request Entity Too Large

Teilt dem Client mit, dass der Server den Request nicht verarbeitet weil der Request-Body zu groß ist.

414 Request-URI Too Long

Teilt dem Client mit, dass der Server den Request nicht verarbeitet weil die angeforderteURLzu lang ist.

415 Unsupported Media Type

Teilt dem Client mit, dass der Server den Request nicht verarbeitet weil der Request-Body ein nicht unterstützten Mediatyp verwendet.

416 Requested Range Not Satisfiable

Teilt dem Client mit, dass der Server den Request nicht verarbeitet weil angeforderte Bytebereich (Range) nicht verfügbar ist.

417 Expectation Failed

Teilt dem Client mit, dass der Server den Request nicht verarbeitet weil er die im Expect-Header gegebenen Anforderungen nicht erfüllen kann.

Response-Codes 500 - 599: Fehler des Server

Die Response-Codes 500 bis 599 werden angegeben wenn der Server einen Fehler verursacht hat. Folgende sind definiert:

500 Internal Server Error

Teilt dem Client mit, dass der Server einen internen Fehler entdeckt hat und deshalb den Request nicht beantworten kann.

501 Not Implemented

Teilt dem Client mit, dass der Server den Request nicht beantworten kann, da der Client eine Aktion angefordert hat, die der Server nicht beherrscht.

502 Bad Gateway

Teilt dem Client mit, dass der Server/Proxy einen ungültigen Response von einem anderen Server/Proxy erhalten hat. Dies kann z.B. der Fall sein, wenn der Response mehrere Proxies durchlaufen muss.

503 Service Unavailable

Teilt dem Client mit, dass der Server zur Zeit nicht erreichbar ist, es aber bald wieder sein wird. Mit diesem Code sendet der Server den Retry-After Header.

504 Gateway Timeout

Teilt dem Client mit, dass ein Proxy/Server innerhalb der zur Verfügung stehenden Zeitspanne den Request nicht verarbeiten konnte.

505 HTTP Version Not Supported

Teilt dem Client mit, dass der Server die verwendete HTTP-Version nicht unterstützt.