HTTP status codes are the language of conversation between your browser and the server.
When using the internet, with each click you make, here’s what happens; Your browser sends a request to the server of the website you are trying to access. The server will respond with a three-digit code indicating the request’s status.
This happens with every request your browser makes. But you won’t see unless something goes wrong.
That explains the 502 bad gateway, 400 bad requests, and Error 404 not found that graces your screen occasionally.
Let’s break down HTTP status codes.
Frequently Asked Questions
What are HTTP Status Codes?
Also known as the HTTP response code, an HTTP status code is a server response to a browser’s request.
They indicate whether a specific HTTP request has been successful, failed, or requires additional actions.
What Do HTTP Status Codes Mean?
HTTP status codes are three-digit numbers.
The first digit defines the category of the HTTP response. These categories are between 1xx and 5xx ranges, each representing different classes of server response.
Response codes in the same category, i.e., with the same first digit, have similar or related meanings.
Understanding what category a code falls into can help instantly identify the general substance of the response before you get down to the specific details.
Understanding HTTP Status Codes
HTTP status codes are grouped into 5 categories according to the Internet Assigned Numbers Authority (IANA) registry. Here they come;
- 1xx – Informational Responses: This indicates that the server receives the request and will proceed with processing it
- 2xx – Successful Responses: The server receives and processes the request successfully. Thus the client is served the expected information.
- 3xx – Redirection Responses: This category indicates that the request was received, but the requested information has been moved to another location. Hence, there’s a redirection of some kind.
- 4xx – Client Error Responses: This code indicates a problem with the request, and the server can’t fulfill it. The requested information can not be found or is unavailable.
- 5xx – Server Error Responses: The request is valid, but the server encountered a problem and couldn’t fulfill the request.
HTTP status codes marked with the same numerical identifier have close meanings.
You may come across status codes with the form 6xx and 7xx. They are unofficial status codes used by some companies for their custom internal server codes.
The Most Common HTTP Status Codes by Categories
There are more than 60 HTTP status codes. But we won’t bore you with an exhaustive list.
We’ve handpicked the most common HTTP status code you will likely encounter in your digital journey.
1xx – Informational Status Codes
A 1xx status code is informational and temporal.
They are not the final response to a request, just a signal from the server to the browser that the request has been received without any issue and is continuing with the process.
They are given while the request process is running.
Common 100s Status Codes
- 100 Continue
- 101 Switching Protocol
- 102 – Processing
- 103 Early Hints
100 Continue
This interim response code indicates that the server has received the initial part of the request, and the client should send the remaining request.
101 Switching Protocol
The 101 switching protocol means that the client has requested a protocol change, and the server has complied. If the server doesn’t think it’s necessary, it will pass the protocol change and process the request.
102 Processing
This response indicates that the server has received the complete request, but no response is available because processing is still ongoing. The server only sends this response when the processing takes significantly longer.
103 Early Hints
The server uses this response to allow the client to preload resources before the rest of the response is ready
2xx Successful Responses Codes
The 2XX response codes generally represent success. They mean that The server processed the request successfully and delivered the requested resources to the client.
Common 200s Response Codes
- 200 OK
- 201 Created
- 202 Accepted
- 204 No Content
200 OK
This status code means that everything is functioning properly. This code is delivered when a web page or resource performs 100% as it should.
The actual meaning of the success depends on the type of request:
- GET: The request is successful, and the response is included in the message body.
- HEAD: Only an entity header of the requested resource is included in the response without the message body.
- POST or PUT: The message body contains a description of the result of the action requested.
- TRACE: The message body contains the request as received by the server.
201 Created
The request has been successfully fulfilled, and a new resource is being created. This typically follows the PUT or POST request.
202 Accepted
The request has been received successfully but has yet to be processed. It may or may not result in a completed request when eventually processed.
204 No Content
A 204 code means that the server has successfully processed the request, but there’s no content available to fulfill the request.
3xx Redirection Status Codes
A 300s redirection message means the request is successful, but the completion requires further action because the requested resource was found elsewhere.
A redirect response will ultimately end in the 2xx success codes, but it must first pass through the 3xx redirection. The requested resource is available but found in a different location.
Common 300s Status Code
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Temporary Redirect
- 304 Not Modified
300 Multiple Choices
This status code means that there is more than one possible response to the request. So the user will have to choose one. Links to the possible responses are usually included.
301 Moved Permanently
The requested resource has been moved permanently to another URL. The new URL will be included in the response. Search crawlers and visitors will be taken to the new URL.
302 Temporary Redirect
This response code indicates that the URL of the requested resource has been moved temporarily. The resource can be found in the same URL in the future. Therefore, the client should use the same URL for future requests.
304 Not Modified
This status code informs the client that the requested resource has been the same since its last visit. So the client can continue with the previously saved version of the resource.
This is used for caching purposes. It’s used to speed up web page delivery as previously downloaded versions of a web page are saved in the browser cache.
4xx Client Error Status Codes
The 4xx client error response code means that the resource requested can not be reached or is unavailable. This can be due to problems with the browser or incorrect URL syntax.
The error is usually explained in the response.
Common 400 Status Codes
- 400 Bad Request
- 401 unauthorized Error
- 403 Forbidden Error
- 404 Not Found Error
400 Bad Request
The server cannot process the request because of some perceived client error, such as Incorrect request syntax. Check out our guide on how to fix 400 Bad request errors.
401 unauthorized Error
The server requires authentication before it can process the request. Therefore, the client must authenticate itself before it can get a response to the request. This error code is often presented in most browsers as 401 Authorization Required.
403 Forbidden Error
The error code means that access to the requested resources is forbidden. This code is shown when the client attempts to access contents they are not authorized to view.
Unlike the 401 unauthorized error, here, the client’s identity is known, but since they do not have permission, the server turns down their valid request.
404 Not Found Error
This is the most common response code anyone that uses the internet must have encountered. The request is valid, but the server can’t find the requested resources. The resource may not exist, or the server is having difficulty locating it.
5xx Server Error Status Codes
A 5xx server error suggests that something is wrong on the server end. The request is valid, but the server is unable to complete it. The error message usually comes with a hint about the causes of the problem.
Common 500s Status Codes
- 500 Internal Server Error
- 502 Bad Gateway Error
- 503 Service unavailable
- 504 Gateway Timeout
500 Internal Server Error
The 500 internal server error means that the server has encountered an unexpected and unexplainable situation. This is a generic error code that could mean anything.
If you see this error on your site, you can fix the 500 Internal server error by following this guide.
502 Bad Gateway Error
The 502 bad gateway error means that the server got an invalid response while acting as a gateway to get a response for the request.
For more information on this error and the solution, read our comprehensive post on how to fix 502 bad gateway errors.
503 Service unavailable
503 Service unavailable simply means that the server is not available to process the request. So the user will have to come back later. It often happens when the server is overloaded or down for maintenance.
504 Gateway Timeout
This error code appears when the server acts as a gateway to receive a response from an upstream server but doesn’t get it on time.
More Helpful WordPress Tutorials:
- How to Fix WordPress Bugs: Dealing with bugs on WordPress? This guide explains common WordPress errors and bugs and how to solve them.
- How to Fix “your connection is not private”: Your ABC guide to fixing the “your connection is not private” error on your website.
- How to Reduce Server Response Time: Use the quick tips in this guide to reduce server response time on your WordPress website.
Wrapping up
From afar, HTTP status codes are scary big tech matters. But if you’ve followed this guide up to this point, you already know they aren’t.
Understanding HTTP status codes can help you identify what’s wrong with your website, avoid downtime, and improve website performance.
We hope this article has made you understand how servers and web browsers interact. Please let us know in the comment section if you have any questions or suggestions.