JSP HTTP Status Codes

HTTP requests and HTTP responses have similar formats, both with the following structure:

  • Start with a status line + CRLF (carriage return line feed)
  • Zero or more header lines + CRLF
  • An empty line, e.g., CRLF
  • An optional message body such as file, query data, query output

For example, a server response header looks like the following:

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
  (Blank Line)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>
The status line contains the HTTP version, a status code, and a short message corresponding to the status code.

The following table lists HTTP status codes that may be returned from the server and their associated messages:

Status Code Message Description
100 Continue Only part of the request has been received by the server, but as long as it has not been rejected, the client should continue with the request.
101 Switching Protocols Server switching protocols
200 OK Request confirmed
201 Created The request was complete, and a new resource is created
202 Accepted The request has been accepted, but processing has not been completed
203 Non-authoritative Information  
204 No Content  
205 Reset Content  
206 Partial Content  
300 Multiple Choices A list of hyperlinks, the user can select a hyperlink and access it, supporting up to 5 hyperlinks
301 Moved Permanently The requested page has been moved to a new URL
302 Found The requested page has temporarily moved to a new URL
303 See Other The requested page can be found at a different URL
304 Not Modified  
305 Use Proxy  
306 Unused This status code is no longer used, but the status code is reserved
307 Temporary Redirect The requested page has temporarily moved to a new URL
400 Bad Request The server could not understand the request
401 Unauthorized The requested page requires a username and password
402 Payment Required This status code cannot be used currently
403 Forbidden Access to the requested page is forbidden
404 Not Found The server could not find the requested page
405 Method Not Allowed The method specified in the request is not allowed
406 Not Acceptable The server can only create a response that the client cannot accept
407 Proxy Authentication Required A proxy server must be authenticated before the request can be serviced
408 Request Timeout The request time exceeded the server's waiting time, and the connection was closed
409 Conflict There are contradictions in the request
410 Gone The requested page is no longer available
411 Length Required "Content-Length" is not defined, and the server refuses to accept the request
412 Precondition Failed The request's precondition was evaluated as false by the server
413 Request Entity Too Large The server refused to accept the request because the request entity is too large
414 Request-url Too Long The server refused to accept the request because the URL is too long. This often occurs when a large amount of query information is attached when converting a "POST" request to a "GET" request
415 Unsupported Media Type The server refused to accept the request because the media type is not supported
417 Expectation Failed  
500 Internal Server Error The request was incomplete; the server encountered an unexpected condition
501 Not Implemented The request was incomplete; the server does not provide the required functionality
502 Bad Gateway The request was incomplete; the server received an invalid response from the upstream server
503 Service Unavailable The request was incomplete; the server is temporarily restarting or shutting down
504 Gateway Timeout Gateway timeout
505 HTTP Version Not Supported The server does not support the specified HTTP version

Methods to Set HTTP Status Codes

The following table lists the methods used to set status codes in the HttpServletResponse class:

S.N. Method & Description
1 public void setStatus ( int statusCode )This method can set any status code. If your response contains a special status code and a document, make sure to call the setStatus method before returning any content with PrintWriter.
2 public void sendRedirect(String url)This method generates a 302 response and also generates aLocationheader telling the URL of a new document
3 public void sendError(int code, String message)This method inserts a status code (usually 404) and a short message into an HTML document automatically and sends it back to the client

HTTP Status Code Program Example

The following example will send a 407 error code to the browser, and then the browser will tell you "Need authentication!!!".

<html>
<head>
<title>Setting HTTP Status Code</title>
</head>
<body>
<%
   // 设置错误代码,并说明原因
   response.sendError(407, "Need authentication!!!" );
%>
</body>
</html>

Access the above JSP page and you will get the following result:

js_http_status_codes

You can also try using other status codes to see if you get any unexpected results.

Other extensions