A success response indicates that the request has succeeded.
The information returned with the response is dependent on the method used in the request, for example:
GET: An entity corresponding to the requested resource is sent in the response.
HEAD: The entity-header fields corresponding to the requested resource are sent in the response without any message-body.
POST: An entity describing or containing the result of the action.
TRACE: An entity containing the request message as received by the end server.
A redirection response indicates that further action needs to be taken by the user agent in order to fulfill the request.
The action required MAY be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A client should detect infinite redirection loops, since such loops generate network traffic for each redirection.
Note: Previous versions of this specification recommended a maximum of five redirections. Content developers should be aware that there might be clients that implement such a fixed limitation.
This class of status code is intended for when client seems to have erred.
Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user.
Note: If the client is sending data, a server implementation using TCP should be careful to ensure that the client acknowledges receipt of the packet(s) containing the response, before the server closes the input connection. If the client continues sending data to the server after the close, the server's TCP stack will send a reset packet to the client, which may erase the client's unacknowledged input buffers before they can be read and interpreted by the HTTP application.
Server Errors indicate cases in which the server is aware that it has erred or is incapable of performing the request.
Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. User agents should display any included entity to the user. These response codes are applicable to any request method.