English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Der Format der HTTP-Anfrage und der HTTP-Antwort ist ähnlich und hat die folgende Struktur:
mit der Statuszeile+CRLF (Return Line Feed) beginnt
Null Zeilen oder mehrere Zeilen Header-Module+CRLF
Eine leere Zeile, z.B. CRLF
Optionale Nachrichtenkörper wie Dateien, Abfrageinformationen, Abfrageausgaben
Ein Beispiel für einen Server-Header könnte wie folgt aussehen:
HTTP/1.1 200 OK Inhalt-Typ: .../html Header2: ... ... HeaderN: ... (Leere Zeile) <!doctype ...> <html> <head>.../head> <body> ... </body> </html>
Die Statuszeile enthält die HTTP-Version, einen Statuscode und eine kurze Nachricht, die mit dem Statuscode verbunden ist.
Die folgende Tabelle listet mögliche HTTP-Statuscodes und die damit verbundenen Nachrichten, die vom Server zurückgegeben werden können, auf:
Statuscode | Nachricht | Beschreibung |
---|---|---|
100 | Continue | Nur ein Teil der Anfrage wurde vom Server empfangen, aber solange sie nicht vom Server abgelehnt wird, wird der Client diese Anfrage fortsetzen |
101 | Switching Protocols | Server Switching Protocol |
200 | OK | Die Anfrage wurde bestätigt |
201 | Created | Die Anfrage war vollständig und eine neue Ressource wurde erstellt |
202 | Accepted | Die Anfrage wurde akzeptiert, aber noch nicht vollständig bearbeitet |
203 | Non-authoritative Information | |
204 | No Content | |
205 | Reset Content | |
206 | Partial Content | |
300 | Multiple Choices | Eine Tabelle mit Hyperlinks, aus der der Benutzer einen auswählen und besuchen kann, mit maximaler Unterstützung5Hyperlinks |
301 | Moved Permanently | Die angeforderte Seite wurde in einen neuen URL-Unterordner verschoben |
302 | Found | Die angeforderte Seite wurde vorübergehend unter einer neuen URL verschoben |
303 | See Other | Die angeforderte Seite kann unter einer anderen URL gefunden werden |
304 | Not Modified | |
305 | Use Proxy | |
306 | Unused | Dieser Statuscode wird nicht mehr verwendet, aber der Statuscode wird beibehalten |
307 | Temporary Redirect | Die angeforderte Seite wurde vorübergehend unter einer neuen URL verschoben |
400 | Bad Request | Der Server kann die Anfrage nicht erkennen |
401 | Unauthorized | Die angeforderte Seite erfordert Benutzername und Passwort |
402 | Payment Required | Dieser Statuscode kann derzeit nicht verwendet werden |
403 | Forbidden | Der Zugriff auf die angeforderte Seite ist verboten |
404 | Not Found | Der Server kann die angeforderte Seite nicht finden |
405 | Method Not Allowed | Die im Anfrage specified Methode ist nicht erlaubt |
406 | Not Acceptable | Der Server kann nur eine Antwort erstellen, die der Client nicht akzeptieren kann |
407 | Proxy Authentication Required | Ein Proxy-Server muss vor der Verarbeitung der Anfrage authentifiziert werden |
408 | Request Timeout | Die Anfragezeit hat die Wartezeit des Servers überschritten, die Verbindung wurde unterbrochen |
409 | Conflict | Die Anfrage enthält Widersprüche |
410 | Gone | Die angeforderte Seite ist nicht mehr verfügbar |
411 | Länge Required | "Content-Die Länge "wurde nicht definiert, der Server lehnt die Anfrage ab |
412 | Precondition Failed | Die Voraussetzung der Anfrage wurde vom Server als falsch bewertet |
413 | Request Entity Too Large | Der Server lehnt die Anfrage ab, da der Anfragekörper zu groß ist |
414 | Request-url Too Long | Der Server lehnt die Anfrage ab, da die URL zu lang ist. Dies tritt oft auf, wenn eine große Menge an Anfragemeldungen zusammen mit einem "POST"-Anfrage in eine "GET"-Anfrage umgewandelt wird |
415 | Unsupported Media Type | Der Server lehnt die Anfrage ab, da der Mediendateityp nicht unterstützt wird |
417 | Expectation Failed | |
500 | Internal Server Error | Anfrage unvollständig, der Server hat eine unerwartete Situation erlebt |
501 | Not Implemented | Anfrage unvollständig, der Server bietet die benötigten Funktionen nicht an |
502 | Bad Gateway | Anfrage unvollständig, der Server hat von einem上游 Server eine ungültige Antwort erhalten |
503 | Service Unavailable | Anfrage unvollständig, der Server wurde vorübergehend neu gestartet oder geschlossen |
504 | Gateway Timeout | Gateway Timeout |
505 | HTTP Version Not Supported | Der Server unterstützt die angegebene HTTP-Version nicht |
Die folgende Tabelle zeigt die Methoden der Klasse HttpServletResponse an, die zum Setzen des Statuscodes verwendet werden:
S.N. | Methode & Beschreibung |
---|---|
1 | public void setStatus ( int statusCode ) DieseMethodekannjeglichenStatuscodeeinstellen.WennIhreAntworteinenbesonderenStatuscodeundeineDokumentinhaltet,stellenSie sicher,dassSiedensetStatusMethodenaufrufen,bevorendiePrintWritermitInhaltenzurückgegebenwird |
2 | public void sendRedirect(String url) DieseMethodeermittelt302Antwort,undermittelteinen Location KopfzeileanURLeineNeueDokumentenzuweisen |
3 | public void sendError(int code, String message) DieseMethodeübergibteinenStatuscode(gewöhnlich 404)undeinekurzeNachrichtsenden,automatischinHTMLDokumenteingefügtundanKundenzurückgesendet |
DerfolgendeBeispielwirdfolgendenHTTPStatuscodeversenden407FehlercodeanBrowser,undBrowserwirdSie "Need authentication!!!"informieren.
<html> <head> <title>Setting HTTP Status Code</title> </head> <body> <% // RichtenSieFehlercodeein,undgebenSiedenUrsachean response.sendError(407, "Need authentication!!! "); %> </body> </html>
DerZugriffaufdieobengenanntenJSPSeitenwirdfolgendesErgebnisliefern:
Siekönnenauchversuchen,anderenStatuscodeszuverwenden,umzusehen,obersurpriseResultateerhalten.