What are HTTP Status Codes? 

HTTP status codes are important responses that control how you surf the internet.

To access the internet, you need a client and a server. A client is a browser where you type the website like Mozilla, Chrome, and Safari.

The server is where the website files you are trying to access is hosted.  For example, to access Gmail, you type Gmail in google (client) from Gmail server.

Each time you type a website to visit, your browser (client) sends a request to the server and server generates a response to the client.

The response is technically referred to as the status code. Since the website uses HTTP, the responses are referred to as the HTTP status code.

Therefore throughout the discussion, we will be using client, server, and request.

The most common status codes you may have come across HTTP 403 Forbidden Error, HTTP 404 File Not Found, and HTTP 503 Service Unavailable.

Types of HTTP Status Codes

  • Informational Responses: HTTP 100 Series Codes
  • Successful Responses: HTTP 200 Series Codes
  • Redirections messages: HTTP 300s Series codes
  • Client  error responses: HTTP 400  Series Codes
  • Server error responses: HTTP  500 Series Codes

Do you know their meaning? What generates them? And how they are solved? If you don’t, no worry! Read through to understand what causes common HTTP status codes.

 HTTP 1xx Status Codes (Informational Response)

HTTP 100 status codes generally mean the server has received the request and is currently processing it.

HTTP 100 Continue

This is the server response to mean no error has been reported. Therefore, the client should continue to submit the request.

HTTP 101 Switching protocols

Is triggered by the header file upgrade request to the server. Immediately, the server upgrades the user’s request.

HTTP 2xx Status Code ( Successful Codes)

All HTTP 2xx codes are successful codes since they mean the request was received, understood, and accepted. Successful HTTP status codes are as follows:


The HTTP request was successful.

HTTP 201 Created

The server has accepted the request and a new resource has been created

HTTP 202 Accepted

The server has received a request but in the processing. No guarantee it will complete

HTTP 203 Non-Authoritative Information

Meta-information received does not match the original one that in the server.

HTTP 204 No Content

The server has not returned any content after successfully processing the request

HTTP 205 Reset Content

The server has not returned content like HTTP 204 but requester should reset the document

HTTP 206 Partial Content

This code means the request has succeeded.

HTTP 207 Multi-status

An XML response message that contains multiple response codes. This is a WebDAV specific code.

HTTP 208 Already reported 

Like 207, this code is WebDAV specific that means DAV contents was remunerated in the previous thus no need of remunerating again.

HTTP 3xx Status Codes (Redirections)

The 3xx series codes mean that the user agent needs to take further actions for the request to complete.

HTTP 300 Multiple Choices

The request has more than one resource for the browsers to choose.

HTTP 301 Moved Permanently

Means the URL has been permanently redirected to another URL. Search engines need to replace the old URL with the new one redirected to.

HTTP 302 Found

This code imply a temporary URL redirection. Search engines do not need to replace the URL since they will use the same URL in future requests.

HTTP 304 Not modified

Status code used in caching. The server returns this status if the resource has not changed since the client last accessed the file. In that regard, there is no need to resend the same copy again.

HTTP 305 Use proxy

The code is deprecated thus no longer in use. The server instructed the client (browser) to access the resource through a proxy using a proxy URL. The client would then connect to the proxy URL then connect to the right URL.HTTP 306UnusedThis code is no longer in use and was reserved.

HTTP 307 Temporary Redirection

The requested resource is currently on a different URI but on a temporary basis. However, the client can use the URI in a future request.

HTTP 308 Permanent Redirection

The requested resource has been moved to difference URL permanently. Therefore, search engines need to update the new URL.

HTTP 4xx  Series Codes (Client Error Responses)

HTTP 400 Bad Request

This code means that the request syntax sent was incorrect thus was impossible to be satisfied.

HTTP 401 Unauthorized

The request has been declined since the credentials provided could not be authenticated. Simply it means either your login username, password, or both are incorrect. The server requires you to login again.

Http 402 Payment required

Planned to be used in future

Http 403 Forbidden

The server has authenticated your credentials but has rejected the request. Probably the owner might have blocked visitors unless the visitor permits the user. An example is a membership site and you have not paid your subscription fees.

HTTP 404 Not Found

Means that the site (URL) or the page you are trying to reach has not been found or does not exist. This may occur when you mistype the URL. Confirm URL or domain before proceeding. One common reason for this could be the site is down. Search engines try to access it later.

HTTP 405 Method not allowed

The server has accepted the HTTP method of the web request but rejected that particular method. As a result, visitors cannot access the webpage.

HTTP 406 Not acceptable

The browser sent the request successfully but the server did not understand the request.

HTTP 407 Proxy authentication needed

The browser did not accept the request since the proxy server that should access the resource did not authenticate the provided credentials

HTTP 408 Request timeout

The server failed to generate the request by the server within the server waiting time.

HTTP 409 Conflict

Request failed because the request and the resource state are conflicting.

HTTP 410 Gone

Means the page or URL you are access does not exist in the server and no redirection to it exist. This means that the page is permanently deleted. Search engines like google will know such pages will never exit therefore removes them from their index.

HTTP 429 Too many Requests

The client (browser) is saying that you have sent too many requests to access the same resource within a short time. This technique is commonly referred to as rate-limiting. The status code is important in cybersecurity. By rate limiting, the client prevents a Denial of Service (DOS) attack that involves many requests to a single URL until it is inaccessible.

HTTP 5xx Series Codes (Server Error Responses)

HTTP Status Code 500 internal error

This means the server hosting the site you are trying to access has a problem. However, the server cannot single out the error. If you are the website owner there is no much you can do. Immediately contact your host to sort it out.

HTTP Status Code 503 Service Unavailable

Just like 501, this is a problem with the server but the server knows the exact problem. Mostly the server generates this error when the allocated resources are exhausted. For example, your server access limit has exhausted or hosting period has expired and has not renewed.

HTTP Status Code 504 Gateway Timeout

This means the server tried to access another server to answer your request but the other server took too long to answer. There is nothing the website owner can do. Contact the host to solve.