Frage:
Was bedeuten die verschiedenen HTTP-Antwortcodes?
Umgebung: Cisco Web Security Appliance (WSA) mit beliebiger AsyncOS-Version
HTTP hat immer eine Client-Anfrage und eine Server-Antwort. Die Serverantworten werden durch einen numerischen Antwortcode klassifiziert. Antwortcodes geben die Gründe für erfolgreiche und fehlgeschlagene HTTP-Anfragen an.
Ausführliche Informationen zu HTTP-Antwortcodes finden Sie in RFC 2616 (HTTP), Abschnitt 10.
Nachstehend finden Sie Details zu dem am häufigsten verwendeten Antwortcode, auf den Sie wahrscheinlich stoßen werden:
1xx Codes: Informativ
100 Continue (Fortfahren): Wird in der Regel in Bezug auf das ICAP-Protokoll gesehen. Dies ist eine Informationsantwort, die den Client wissen lässt, dass er weiterhin Daten senden kann. In Bezug auf ICAP-Dienste (wie z. B. Virenscans) möchte der Server möglicherweise nur die erste x Bytemenge sehen. Wenn das Scannen der ersten Bytes abgeschlossen ist und kein Virus entdeckt wurde, wird ein 100 Continue gesendet, um den Client zu informieren und den Rest des Objekts zu senden.
2xx Codes: Erfolgreich
200 OK: Der gängigste Antwortcode. Dies bedeutet, dass die Anforderung problemlos erfolgreich ist.
3xx-Codes: Umleitung
302 Found: Dies ist eine temporäre Umleitung. Der Client wird angewiesen, eine neue Anforderung für das im Location:-Header angegebene Objekt zu erstellen.
304 Nicht geändert: Dies ist als Antwort auf ein GIMS (GET If-modified-since). Hierbei handelt es sich buchstäblich um ein Standard-HTTP GET, das den Header If-modified-since: <date> enthält. Dieser Header teilt dem Server mit, dass sich im lokalen Cache des Clients eine Kopie des angeforderten Objekts befindet, die das Datum enthält, an dem das Objekt abgerufen wurde. Wenn das Objekt seit diesem Datum geändert wurde, antwortet der Server mit 200 OK und einer neuen Kopie des Objekts. Wenn sich das Objekt seit dem Abrufdatum nicht geändert hat, sendet der Server eine 304 Not Modified-Antwort zurück.
307 Temporäre Umleitung: In jeder Hinsicht hat sie die gleiche Bedeutung wie die 302. Wenn weitere Details entdeckt werden, kann dieser Artikel aktualisiert werden.
4xx-Codes: Client-Fehler
400 Bad Request: Dies bedeutet, dass die HTTP-Anfrage nicht die richtige Syntax aufweist. Mögliche Ursachen können sein, weil mehrere Header in derselben Zeile sind, Leerzeichen in einem Header, kein HTTP/1.1 im URI, usw. Auf RFC 2616 sollte für eine korrekte Syntax verwiesen werden.
401 Unauthorized: Das angeforderte Objekt erfordert eine Authentifizierung, damit auf das Objekt zugegriffen werden kann. Der 401 wird für die Authentifizierung bei einem Ziel-Webserver verwendet. Bei Verwendung der Cisco Web Security Appliance (WSA) im transparenten Modus wird ein 401 an den Client zurückgesendet, wenn die Authentifizierung auf dem Proxy aktiviert ist. Der Grund hierfür ist, dass sich die Appliance so manipuliert, als wäre sie der OCS (Original Content Server).
Die verfügbaren Authentifizierungsmethoden werden in einem www-Authenticate: HTTP-Response-Header angegeben. Dadurch wird dem Client mitgeteilt, ob dieser Server nach NTLM, grundlegenden oder anderen Authentifizierungsmethoden fragt.
403 Forbidden: Der Client hat keinen Zugriff auf das angeforderte Objekt. Es gibt viele Gründe, warum ein Server den Zugriff auf ein Objekt verweigern kann. Normalerweise enthält der Server eine Art Beschreibung der Ursache in den HTTP-Daten (HTML-Antwort).
404 Not Found (404 nicht gefunden): Das angeforderte Objekt ist auf dem Server nicht vorhanden.
407 Proxy Authentication Required: Dies ist mit 401 identisch, mit der Ausnahme, dass es sich speziell um die Authentifizierung eines Proxys und nicht des OCS handelt. Diese wird nur gesendet, wenn die Anforderung explizit an den Proxy gesendet wurde. Ein 407 kann nicht an einen Client gesendet werden, während WSA als transparenter Proxy verwendet wird, da der Client nicht weiß, dass der Proxy vorhanden ist. Wenn dies der Fall ist, wird der Client höchstwahrscheinlich den TCP-Socket FIN oder RST starten.
Anstatt www-Authenticate:-Header zu verwenden, um anzugeben, welche Authentifizierungsmethoden verfügbar sind, wird der Proxy-Authenticate:-Header verwendet.
5xx-Codes: Serverfehler
500 Interner Serverfehler: Generischer Serverfehler
502 Bad Gateway: Dies wird in der Regel angezeigt, wenn die WSA als Proxy verwendet wird, wenn das Gateway falsch reagiert.
503 Service Unavailable (Dienst nicht verfügbar): Dieser wird in der Regel gesendet, wenn das OCS überlastet ist. Der Versuch, die Anfrage zu einem späteren Zeitpunkt erneut zu senden, sollte erfolgreich sein.
504 Gateway Timeout: Ein 504 wird gesendet, wenn die WSA keine Antwort vom Gateway erhalten hat.