The HTTP status messages in the 100 series are informational in nature. They are not part of HTTP/1.0 and so servers must not return these messages. These are provisional responses, and user agents (browsers) may ignore them.
This tells the user agent that the request has been received and has not yet been rejected by the server and that it should continue by sending the remainder of the request or if the request is complete, ignore this message.
101 Switching Protocols:
The server understands the request and will comply by changing the protocol. For example, if HTTP/2.0 is released, the server will switch to that protocol from HTTP/1.0.
The HTTP status messages in the 200 series reflect that the request was successful in some form.
This is the most common HTTP status message. It indicates that the request was successful and the server was able to deliver on the request.
This HTTP status message indicates that the request was fullfilled with a new resource created at that URI.
The request has been accepted for processing, but it has not been completed yet. The request may be rejected at a later time when the processing occurs.
203 Non-Authoritative Information:
The returned meta-information is not the authoritative set as defined by the origin server. This response code is not required to be used, and is only used when the response would otherwise be 200 OK.
204 No Content:
The server has fullfilled the request, but doesn’t need to return an entity-body. The user agent will not change the current document view.
205 Reset Content:
The server has fullfilled the request and the user agent will reset the current document view.
206 Partial Content:
The server has fullfilled the partial GET request from the user agent.
The HTTP status messages in the 300 series are redirection responses. They indicate that the resource requested has moved or in some way been redirected to a new location.
300 Multiple Choices:
The requested resource corresponds to any one of a number of different options. In most cases the user or the user agent is given a list of choices to choose where to move to.
301 Moved Permanently:
The requested resource has been moved from this URI to a new location. This redirection is permanent. Clients with link editing capabilities should change the link to the new location.
The requested resource resides temporarily in another location, but it can still be found at the requested URI.
303 See Other:
The response to the requested resource can be found at a different URI, but that response should not be cached by the user agent.
304 Not Modified:
If the client has performed a conditional GET request and access is allowed, but the document has not been modified, the server should respond with this status code
305 Use Proxy:
The requested resource must be accessed by the proxy indicated in the Location: resource.
307 Temporary Redirect:
The resource in question has been moved to a new location, but the user agent should not update the URI to the new location.
This class of HTTP status message indicates there is a problem or error at the client or user agent end.
400 Bad Request:
The request could not be understood by the server due to malformed syntax.
The request requires user authorization (such as through htaccess) but the authorization codes sent were invalid or the user was not recognized in the system. This error is sent when the username sent is not recognized and when the username and password combination are incorrect.
402 Payment Required:
This HTTP status code is not used, but is reserved for future use.
The server understood the request, but refuses to fulfill it. Authorization, in this case, doesn’t matter.
404 Not Found:
This is the most easily recognized error message. It states that the URI requested does not exist on the server.
405 Method Not Allowed:
The method specified is not allowed for the resource requested.
406 Not Acceptable:
The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.
407 Proxy Authentication Required:
This is similar to 401, but the client must first authenticate with a proxy.
408 Request Timeout:
The client did not produce a request within the time that the server was prepared to wait.
The request could not be completed due to a conflict with the current state of the resource.
The resource requested was once on this server but is no longer here and there is no redirect in place for it.
411 Length Required:
The server requires a content-length sent with the request.
412 Precondition Failed:
The server evaluated a pre-condition in the header fields as false.
413 Request Entity Too Large:
The server has a limit as to the size of a request.
414 Request-URI Too Long:
The server has a limit as to the size of a URI.
415 Unsupported Media Type:
The entity of the request is a format not supported by the requested resource.
416 Requested Range Not Satisfiable:
A server should return a response with this status code if a request included a Range request-header field, and none of the range-specifier values in this field overlap the current extent of the selected resource, and the request did not include an If-Range request-header field.
These error messages are sent when the server is aware that it has had a problem or error.
500 Internal Server Error:
The server encountered something unexpected that didn’t allow it to complete the request. This is often seen with CGI scripts that have problems.
501 Not Implemented:
The server doesn’t support the functions required for fullfilling that request. This might occur if a server side include were called on a server that doesn’t support that function.
502 Bad Gateway:
The server, while acting as a gateway or proxy, received a bad request from an upstream server.
503 Service Unavailable:
The server is unable to handle the request due to maintenance or a temporary overload of the server.
504 Gateway Timeout:
The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server.
505 HTTP Version Not Supported:
The server does not support the HTTP version that was used to make the request.