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:
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 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.