零个或多个标题行 + CRLF
一个空行 ie. a CRLF
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (Blank Line) <!doctype ...> <html> <head>...</head> <body> ... </body> </html>
|100||Continue||Only a 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||The server switches protocol.|
|200||OK||The request is OK|
|201||Created||The request is complete, and a new resource is created|
|202||Accepted||The request is accepted for processing, but the processing is not complete.|
|300||Multiple Choices||A link list. The user can select a link and go to that location. Maximum five addresses|
|301||Moved Permanently||The requested page has moved to a new url|
|302||Found||The requested page has moved temporarily to a new url|
|303||See Other||The requested page can be found under a different url|
|306||Unused||This code was used in a previous version. It is no longer used, but the code is reserved.|
|307||Temporary Redirect||The requested page has moved temporarily to a new url.|
|400||Bad Request||The server did not understand the request|
|401||Unauthorized||The requested page needs a username and a password|
|402||Payment Required||You can not use this code yet|
|403||Forbidden||Access is forbidden to the requested page|
|404||Not Found||The server can 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 generate a response that is not accepted by the client.|
|407||Proxy Authentication Required||You must authenticate with a proxy server before this request can be served.|
|408||Request Timeout||The request took longer than the server was prepared to wait.|
|409||Conflict||The request could not be completed because of a conflict.|
|410||Gone||The requested page is no longer available.|
|411||Length Required||The "Content-Length" is not defined. The server will not accept the request without it.|
|412||Precondition Failed||The precondition given in the request evaluated to false by the server.|
|413||Request Entity Too Large||The server will not accept the request, because the request entity is too large.|
|414||Request-url Too Long||The server will not accept the request, because the url is too long. Occurs when you convert a "post" request to a "get" request with a long query information.|
|415||Unsupported Media Type||The server will not accept the request, because the media type is not supported.|
|500||Internal Server Error||The request was not completed. The server met an unexpected condition|
|501||Not Implemented||The request was not completed. The server did not support the functionality required.|
|502||Bad Gateway||The request was not completed. The server received an invalid response from the upstream server|
|503||Service Unavailable||The request was not completed. The server is temporarily overloading or down.|
|504||Gateway Timeout||The gateway has timed out.|
|505||HTTP Version Not Supported||The server does not support the "http protocol" version.|
|S.N.||方法 & 描述|
public void setStatus ( int statusCode )
This method sets an arbitrary status code. The setStatus method takes an int (the status code) as an argument. If your response includes a special status code and a document, be sure to call setStatus before actually returning any of the content with the PrintWriter.
public void sendRedirect(String url)
This method generates a 302 response along with a Location header giving the URL of the new document.
public void sendError(int code, String message)
This method sends a status code (usually 404) along with a short message that is automatically formatted inside an HTML document and sent to the client.
<html> <head> <title>Setting HTTP Status Code</title> </head> <body> <% // Set error code and reason. response.sendError(407, "Need authentication!!!" ); %> </body> </html>
HTTP Status 407 - Need authentication!!!
type Status report
message Need authentication!!!
description The client must first authenticate itself with the proxy (Need authentication!!!).