English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSPHTTPStatuscodes

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:

StatuscodeNachrichtBeschreibung
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  
306Unused 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 RequiredDieser 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

Methoden zum Setzen des HTTP-Statuscodes

Die folgende Tabelle zeigt die Methoden der Klasse HttpServletResponse an, die zum Setzen des Statuscodes verwendet werden:

S.N.Methode & Beschreibung
1public void setStatus ( int statusCode ) DieseMethodekannjeglichenStatuscodeeinstellen.WennIhreAntworteinenbesonderenStatuscodeundeineDokumentinhaltet,stellenSie sicher,dassSiedensetStatusMethodenaufrufen,bevorendiePrintWritermitInhaltenzurückgegebenwird
2public void sendRedirect(String url) DieseMethodeermittelt302Antwort,undermittelteinen Location KopfzeileanURLeineNeueDokumentenzuweisen
3public void sendError(int code, String message) DieseMethodeübergibteinenStatuscode(gewöhnlich 404)undeinekurzeNachrichtsenden,automatischinHTMLDokumenteingefügtundanKundenzurückgesendet

HTTPStatuscodeProgrammbeispiel

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.