HTTP status codes control how we access websites on the internet. Have you ever asked yourself how you are able to find a website after you search for it on the internet?
You are able to access websites on your browser through the help of the HTTP status codes. Various HTTP status codes determine whether your computer browser will succeed in loading the websites or not. Let’s see how below.
What are HTTP Status Codes?
An HTTP Status Codes are server response’s to the client’s request on the internet.
To access the internet, you need a client and a server. Accessing files on the internet interaction of the client(website) and the website host (server).
A client is a browser where you type the website like Mozilla, Chrome, and Safari. The server is a computer that hosts the website files you are trying to access. For example, to access Gmail, you type Gmail in google (client) from the Gmail server.
Each time you type a website to visit, your browser (client) sends a request to the server and the 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.
Examples of HTTP Status Codes
There are many HTTP status codes you will find on the internet. However, some status codes are common than others.
In that regard, we will classify the status codes into common HTTP status codes and general types of Status Codes.
Common HTTP Status Codes on the Browsers
These are status codes that anyone who surfs on the internet might have already seen. Popular codes include HTTP 403 Forbidden Error, HTTP 404 File Not Found, and HTTP 503 Service Unavailable.
1. HTTP 200 (OK): The 200 status code means the request was successful. Thus, the server has received the request and feedback has been received. Actually, code 200 is not an error. It is a success
2. HTTP 301 (Permanently Redirection): The 301 statues code means the file has been moved permanently to a new address. Permanently to mean the file old address is no longer available in the server.
3. HTTP 302 (Temporary Redirection): 302 status code implies the file address has changed but for a temporary basis. Therefore, the server is instructed to use the old address on a later request since this is a temporary address.
4. HTTP 404 (Not Found): The 404 error code is the most frustrating on the net. It implies the server did not find the file. Other times, the error occurs when you mistype the website domain.
For example, you will experience an HTTP 404 code if you meant to type http://domain.com but typed http://dmain.com.
However, this only happens if no website with a domain http://dmain.com. If one exists, then you will open http://dmain.com and of course, find a different site than you expected.
5. HTTP 410 Status Code (Gone): This status code means whatever you are looking for in the server is not available and is not coming back. Site owners use this to advise their visitors that they have moved the content. In other words, instead of the annoying HTTP 404 error, the 401 status code tells the user the files have moved.
5. HTTP 500 Status Code (Internal Server Error): Status code means the server had an internal error. The error is unknown and there is nothing you can do about it.
6. HTTP Status 503 (Service Unavailable): The 503 error is another server-side error. It means the server cannot handle your request at the moment.
This is a temporary error thus the server may be available later. Therefore, once you encounter this error, try to access the send the request again after.
HTTP Status Codes Classes
All HTTP Status codes are classified into the following 5 classes:
- 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:
HTTP 200 OK: 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 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 were 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: This 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 a different 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 the 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: This 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: The 410 status code means the page or URL you are access does not exist in the server and no redirection to it exists. 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 the ing 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.