Having a good knowledge of apache status code is quite beneficial espacially when you are working as system administrator.

We can easily pinpoint the class of apache status code by its first digit:

  • 1XX —> Informational – The request has been received and the process is running.
  • 2XX —> Success – The request has been received and is working correctly.
  • 3XX —> Redirection – The request has been received but an additional step is needed to complete it.
  • 4XX —> Client Error – The request was requested by a client but the landing page is incorrect.
  • 5XX —> Server Error – The request provided by the client is correct but the server failed in the transmission of its response.

As a system administrator last three status code should come under you radar.


HTTP Code 100-101 : Information Codes

100 Keep On Going: OK to continue .

101 Switching Protocols: The server has changed protocols.



HTTP Code 200-206: Success Codes

200 – OK: Request made successfully.

201 Created: Document created; this resource can be referenced by the URI returned in the body of the response, with the most accurate URL for the resource indicated in the header of the “Location” field.

202 Accepted: Request completed asynchronously; This code is used instead of 201 when the processing can not take place immediately, so its result is undetermined.

203 – Non-Authoritative Information: Request completed incompletely. Means Query successfully processed but the data transmitted is not in accordance with the original, and comes from a local copy or a third party.

204 – No Content: No information to return; Query successfully processed, but the server does not need to transmit content.

205 – Reset Content: Instructs the browser to remove the contents of fields on a form.

206 – Partial Content: Incomplete GET , server returs only portion of requested size.



HTTP Code 300-305 : Redirection related

300 – Multiple Choices: The requested URI is for more than one resource. For example, the URI is for a document that has been translated into multiple languages. The server must return information on how to choose a specific resource.

301 – Moved Permanently: The requested resource has a new address (URI). Any future reference to this resource must be made using one of the URIs returned in the response. The web browser should normally automatically load the requested resource to its new address.

302 – Moved Temporarily: The requested resource temporarily resides at a different address (URI).Since this re-direction is temporary, the web browser should continue to use the original URI for future requests

303 – See Other: The specified URI is available at another URI and must be requested by a GET.

304 – Not Modified: The web browser has made a conditional GET request and access is allowed, but the document has not been modified. This classic response means that you have configured your browser to use an HTTP cache (proxy) in which a copy of the requested document is already stored. The proxy has therefore asked the server if the original document has since changed, and has received this response: it will be able to use the local copy.

305 – Use Proxy: The requested URI must be accessed through the proxy in the Location header.



HTTP Code 400-417 : Client Errors

The 4xx class of status codes is set to respond to the case where it appears that the client has made a mistake. If the client has not yet completed

400 – Bad Request: The HTTP request could not be understood by the server because of an incorrect syntax.The problem may come from a too recent web browser or an old HTTP server.

401 – Unauthorized: The request requires an identification of the user. In concrete terms, this means that all or part of the contacted server is protected by a password, which must be indicated to the server in order to access its content.

402 – Payment Required: Reserved for future use. This code is not yet implemented in the HTTP protocol.

403 – Forbidden: The HTTP server understood the request, but refuses to process it.
This code is usually used when a server does not want to indicate why the request was rejected, or when no other answer matches (eg the server is an Intranet and only machines on the local network are allowed to connect to the server).

404 – Not Found: The server did not find anything that matched the requested (URI) address (not found).This means that the URL you typed or clicked is bad or out of date and does not match any existing documents on the server.

405 – Method Not Allowed: This code indicates that the method used by the client is not supported for this URI.

406 – Not Acceptable: The URI specified by the customer exists, but not in a preferred format by the client. Along with this code, the server provides Content-Language, Content-Encoding, and Content-Type headers.

407 – Proxy Authentication Required: The proxy server needs to authorize the request before forwarding it.

408 – Request Time-out: The client did not submit a complete request for the maximum amount of time, and the server dropped the connection.

409 – Conflict: This code indicates that the request conflicts with another request or with the server’s configuration. Information about the conflict should be returned in the data portion of the reply.

410 – Gone: This code indicates that the requested URI no longer exists and has been permanently removed from the server.

411 – Length Required: The server will not accept the request without a Content-Length header supplied in the request.

412 – Precondition Failed: The conditions specified in the request are not met.

413 – Request Entity Too Large: The server will not process the request because its body is too large.

414 – Request-URI Too Long: The server will not process the request because of its request URI is too large.

415 – Unsupported Media Type: The server can not process the request because its contents are written in an unsupported format.

416 – Requested Range Unsatifiable: The server will not process the request because the request is invalid.

417 – Expected Failed: The expected behavior for the server is not supported.



HTTP Code 500-505: Server Errors

These errors raise the eyebrows of system administrators. 5xx status code responses indicate a situation in which the server knows that it is causing the error, or is unable to provide the requested service, although the request was correctly formulated.

500 – Internal Server Error: The HTTP server encountered an unexpected condition which prevented it from fulfilling the request. For example, this error can be caused by a misconfiguration server, or a resource exhausted or denied to the server on the host machine.

501 – Not Implemented: The HTTP server does not support the functionality required to fulfill the request. This is the response when the server is not able to access the resource and is not capable of supporting the resource (or the HTTP server is too old).

502 – Bad Gateway: The intermediate server provided an invalid response. The HTTP server acted as an intermediary (gateway or proxy) with another server, and received an invalid response from the server trying to process the request.

503 – Unavailable Service: The HTTP server is currently unable to handle the request for a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay.

504 – Gateway Time-Out: This response is like 408 (Request Time-out) except that a gateway or proxy has timed out.

505 – HTTP Version Not Supported: The version of the HTTP protocol used in this request is not (or no longer) supported by the server.

Leave a Reply

1 Comment on "HTTP Status Codes And Their Meaning"

Notify of
Sort by:   newest | oldest | most voted

I find this quite informative thanks.