When a user enters a web address into his web browser (Chrome, Mozilla, Safari, etc.), the browser sends a request to the hosting server of the respective website.
If anything goes wrong during this process the server acknowledges with an error message displayed on the web page. These error messages give the user a hint about what possibly went wrong so that the user can proceed accordingly to fix that.
In this article, we will try to cover some of the most common and notorious HTTP status codes and explain to you what exactly they mean.
What are HTTP Status Codes?
The Browser acts as a CLIENT sending a request to the SERVER. The server then responds to this request either in terms of the web page (based on files and database), or it returns a code in case anything goes wrong and the website is unable to load. These codes are governed by standard protocols followed by the servers and are called HTTP Status Codes.
Some popular codes that people encounter in their day-to-day browsing experience are 404 ‘Not Found’ and 502 ‘Bad Gateway’ errors. There are many server status codes. Check Here.
There are various instances, errors, and issues due to which a web page cannot be accessed. These HTTP status codes refer to those specific instances.
Classification Of HTTP Status Codes
The HTTP codes are classified under 5 different categories based on the nature of the error. These codes are 3 digits long, and each of the 5 categories starts from either of these.
- 1XX Status Codes: These are provisional and are only used for certain experiments. These status codes don’t necessarily contain any header and are terminated using an empty line.
- 2XX Status Codes: These are success codes, used when the browser’s request is successfully processed by the server. This series of codes simply means that the access request has been received, understood, and accepted.
- 3XX Status Codes: This type of status code indicates that some additional actions need to be taken to complete the request, this can be due to another resource being substituted in place of the requested resource. This series of status codes is also known as Redirection codes, which could be temporary or permanent.
- 4XX Status Codes: These are also referred to as client errors, referring to the issue with the request made by the user.
- 5XX Status Codes: These are also known as server errors, referring to the situation where the server cannot honor the valid request due to an internal error. This could be temporary as well as permanent. Popular server errors are internal server errors, bad gateway, Bandwidth Limit Exceeded, etc.
List Of HTTP Status Codes
1XX Status Codes – Information responses
1XX As mentioned earlier these are used for experimental purposes, a normal person will not encounter these server codes. There are three status codes defined under this series, as follows:
Status Code | Name/ Meaning |
---|---|
100 | Continue |
101 | Switching protocols |
102 | Processing |
103 | Early Hints |
- 100 Continue- This code indicates that the server is ready to take requests.
- 101 Switching Protocols – This code refers to the server being ready to accept the client’s request to switch protocols, for example switching to an upgraded version of HTTP.
- 102 Processing – This code is used to indicate that the request has been accepted and is undergoing the expected operation, and the result or output is awaited.
2XX Status Codes – Successful responses
2XX This status code comes into the picture once the client’s request has been accepted and is processed successfully. The popular codes of the 200 series are as follows:
Status Code | Name / Meaning |
---|---|
200 | OK |
201 | Created |
202 | Accepted |
203 | Non-Authoritative Information |
204 | No Content |
205 | Reset Content |
206 | Partial Content |
207 | Multi-Status |
208 | Already Reported |
226 | IM Used |
- 200 OK – This is the standard response to a successful HTTP request. The type of information or output depends on the method of request. The request method could either be GET, HEAD, POST, or TRACE.
- 201 Created – This HTTP status code indicates that a new resource has been created as per the client’s request. In response, the URL of the newly created resource is also returned with this status code.
- 202 Accepted – This indicates that the request made by the client has been accepted but could not be processed immediately. The request is put into the queue. However, this certainly does not indicate whether the request will be successfully processed or not, as it will only be determined once the process has started taking place.
- 203 Non-Authoritative Information – This indicates that the result returned after processing of the request is from another resource, and not from the actual resource specified in the request. This status code is only available from HTTP Version 1.1 onwards.
- 204 No Content – This status code indicates that the request has been fulfilled but there is no content in the resource to be returned as the result of the process.
- 205 Reset Content – This is almost the same as 204, but it needs the user/client to reset the document view.
- 206 Partial Content – This status code is returned in case of a partial GET request for the resource, and thus returns partial content from the requested resource.
- 207 Multi-Status – This code is used in case of multiple independent operations as a result of multiple sub-requests and can contain many separate response codes.
3XX Status Codes – Redirection messages
3XX As mentioned earlier, this series of status codes signifies the occurrence of redirection, and it may need some additional redirections to be done by the user agent without the knowledge and intervention of the user. There could be occurrences of infinite redirection loops in some cases. However, as a protocol, the user agent cannot redirect more than 5 times in such cases.
Status Code | Name / Meaning |
---|---|
300 | Multiple Choices |
301 | Moved Permanently |
302 | Found (Previously "Moved Temporarily") |
303 | See Other |
304 | Not Modified |
305 | Use Proxy |
306 | Switch Proxy |
307 | Temporary Redirect |
308 | Permanent Redirect |
- 300 Multiple Choice – This indicates the availability of multiple options for the requested resource, for example, it could return a list of videos available in various formats like mp4, m4a, 3GP, etc.
- 301 Moved Permanently – This indicates that the requested resource is permanently redirected to another location (URI), where the new address is specified by the Location field in the response.
- 302 Found – This status code indicates that the resource has been moved from its location, but the server was able to find it at another location. It is also sometimes referred to as temporary redirection under industrial practice.
- 304 Not Modified – This code helps the browsers to return the page quickly, as this status code indicates that the requested page or resource has not been modified since it was last accessed from the same browser. Hence the browser can show the cached version.
- 306 Unused – This code lies unused and is reserved for some future status.
- 307 Temporary Redirect – This is used to indicate that the resource has been temporarily moved to another location so that the user agent can make another request with an updated URI of the resource. However, as this is a temporary movement for future requests user agent can use the original URI.
- 308 Permanent Redirect – It indicates permanent redirect, so the user agent should use an updated URI for current as well as future requests.
4XX Status Codes – Client error responses
As mentioned earlier, the 4XX series of status codes signifies that there is some error in the requested process at the user end and a new request is to be made after rectification of the request.
Status Code | Name/ Meaning |
---|---|
400 | Bad Request |
401 | Unauthorized |
402 | Payment Required |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |
406 | Not Acceptable |
407 | Proxy Authentication Required |
408 | Request Timeout |
409 | Conflict |
410 | Gone |
411 | Length Required |
412 | Precondition Failed |
413 | Payload Too Large |
414 | URI Too Long |
415 | Unsupported Media Type |
416 | Range Not Satisfiable |
417 | Expectation Failed |
418 | I'm a Teapot |
421 | Misdirected Request |
422 | Unprocessable Entity |
423 | Locked |
424 | Failed Dependency |
425 | Too Early |
426 | Upgrade Required |
428 | Precondition Required |
429 | Too Many Requests |
431 | Request Header Fields Too Large |
451 | Unavailable For Legal Reasons |
- 400 Bad Request – “Bad Request Error“. This error code is introduced to indicate the digital payment system but it is not widely used. Now it is only used to indicate request cannot be fulfilled.
- 401 Unauthorized Access – “Unauthorized Access” indicates the request made is Unauthorized and it needs user authentication. The response from the server along with this status code includes a WWW-Authenticate header field which contains an authentication challenge to be fulfilled by the user agent.
- 402 Payment Required – “Payment Required“. This error indicates that there is a payment issue needed to access the content you want. Therefore, whenever you see an HTTP 402 status code, it generally means that there was a payment issue.
- 403 Forbidden – This status code indicates that the user has requested access to a resource that he is not authorized to access, hence 403 Forbidden from the resource. It has another variation 403 Forbidden Nginx.
- 404 Not Found – Indicates that the resource is 404 Not Found, and doesn’t reveal the reason or chances of it being available in the future.
- 405 Method Not Available – ” Method Not Allowed ” This HTTP status code indicates that the method specified in the request is not allowed and supported by the resource. For example, if a resource needs POST to present data, while GET is used in the request, the server will send 405 errors.
- 406 Not Acceptable – This status code is returned when the requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.
- 408 Request Timeout – It is also known as the ‘Request Timeout’ error. It occurs when the server is waiting for the request, but the client is not able to send a request within a certain time frame.
- 409 Conflict – It indicates that there is a conflict in the request made.
- 410 Gone – It is also known as ‘Gone’, which means that the requested resource is no longer available, and no redirection or forward address is available.
- 411 Length Required – It means that the user agent needs to specify the content length along with the request to be processed by the server.
- 413 Payload Too Large – It indicates that the requested resource is too large for the server to process.
- 414 URI Too Long – It indicates that the requested URI is too long for the server to process.
- 415 Unsupported Media Type – It indicates an Unsupported Media Format.
- 422 Unprocessable Content – “Unprocessable Entity” indicates that the server can understand the request, but due to an issue on the user’s end, it cannot fulfill it.
- 429 Too Many Requests – It is used for ‘rate-limiting’, and is returned in case of Too Many Requests being sent by the user agent within a certain time duration. This status code is returned with a ‘Retry-After’ header which indicates after how much time the user agent can retry sending the request to the server.
- 444 No Response – It is a Nginx HTTP server extension, and is known as the ‘No Response’ status code returned when the server returns no information and is used to curb malware.
- 451 Unavailable For Legal Reasons – It refers to the denial of access due to Legal Reasons, imposed by censorship or a government mandate.
- 494 Unavailable For Legal Reasons – “Request header too large“. Primarily occurs on the client side and generally indicates a runtime error occurring in your app or web browser.
- 499 Client Closed Request – “Client closed request“. It indicates that the connection is being closed by the client while the server is processing the request, due to which the server cannot return the HTTP header to the client.
5XX Status Codes – Server error responses
5XX This series of status codes indicates that though there is no problem with the request made by the user agent, due to some of the other reasons server is not able to process the request.
Status Code | Name/ Meaning |
---|---|
500 | Internal Server Error |
501 | Not Implemented |
502 | Bad Gateway |
503 | Service Unavailable |
504 | Gateway Timeout |
505 | HTTP Version Not Supported |
506 | Variant Also Negotiates |
507 | Insufficient Storage |
508 | Loop Detected |
510 | Not Extended |
511 | Network Authentication Required |
- 500 Internal Server Error- Indicates that there is some kind of Internal Server Error at the moment and the request could not be processed. It has also another variation you might encounter “500 internal server error nginx“.
- 501 Not Implemented- It indicates that the server fails to understand the request due to a lack of support.
- 502 Bad Gateway- Sometimes server acts as a gateway to another upstream server. In such cases, if the gateway server receives an invalid response from the upstream server it throws back this status code in response to the user agent. It has also another variation “502 Bad Gateway NGINX“.
- 503 Service Unavailable – If the server is down for maintenance or overloaded with other requests it sends this status code, known as ‘Service Unavailable’. It has also another variation ” Error 503 Backend Fetch Failed ” which indicates that the website you’re trying to visit is temporarily unavailable or experiencing problems on the server side.
- 504 Gateway Timeout – If the server is acting as a gateway and does not receive a response from the upstream server within a certain time, it shows a 504 Gateway Timeout error.
- 505 HTTP Version Not Supported – If the HTTP request made by the user agent is not supported by the HTTP protocol followed by the server, a 505 status code is returned, also known as ‘HTTP Version Not Supported’.
- 507 Insufficient Storage – 507 ‘Insufficient Storage’ status code is returned if a process cannot be completed due to lack of storage space on the server.
- 508 Resource Limit is reached – The “resource limit is reached” means that the server hosting the website has exhausted its allocated resource limits and cannot fulfill your requests.
- 511 Network Authentication Required – Indicates Network Authentication Error.
- 521 Web server is Down – This indicates that the ‘Web Server is Down’ and is not able to accept and process the request.
- 522 Connection Timed Out – Popularly known as Cloudflare Error 522 indicates that the web server can’t reach the destination website due to connection timed out.
- 523 Origin Is Unreachable – The origin is unreachable error means there has been some connection or network issue due to which the Cloudflare server cannot connect or communicate with the origin server.
- 524 A Timeout Occurred – “A timeout occurred“. It indicates, that Cloudflare is successfully connected to the origin web server but the server failed to deliver an HTTP response within the default 100-second connection timeout period.
What impact do HTTP status codes have on SEO?
Search Engines have special bots that crawl the websites and help to index them in search engine ranking based on various factors. One of the major factors that search engines consider while ranking a website without any compromise is user experience.
Whenever the bots crawl the website and encounter such error messages, it can influence how your website gets ranked and they even determine how healthy your website is.
But you might surprised to know that, not all HTTP status codes can affect your Website’s SEO. The 100 series as well as 200 series HTTP status codes don’t have much impact on your SEO.
These error codes give search engine bots a signal that everything is working okay and the bots can continue further crawling. However, they don’t play any role in uplifting your search engine ranking either.
The notorious error codes for which you should be concerned are the 400 and 500 series of HTTP status codes. These higher-level codes give a bad signal to search engine bots which prevents them from crawling the website further.
If the search engine crawlers find too many of these errors on your website, it will give them a signal that your website is not healthy, poorly optimized, and not good for users. Thus, preventing indexing and lowering your rankings.
When considering 300 series HTTP codes, they show a little weird behavior from an SEO point of view. These error codes are mostly responsible for temporary redirect as well as permanent redirection, which you will get to know more about in a dedicated section.
In short, permanent redirecting can forward 90% of the link juice from backlinks but temporary redirect doesn’t. This means, that when you use temporary redirection i.e. all your backlink juice will be useless for the page you have moved.
How to check HTTP errors on your WordPress site?
If you are a beginner and new to a WordPress site, then this trick can be very handy for you to determine HTTP errors on your WordPress site.
1. Google Search Console
One of the Best Free tools you can use to determine HTTP errors on your WordPress site is Google Search Console. This amazing tool can give you 3XX, 4XX, and 5XX HTTP error series in the coverage report.
This particular option in the Google search console dashboard displays these four types of warnings or messages.
- Shows pages that have errors
- Pages that have certain warnings
- Pages that are not indexed
- Valid resources
Other HTTP status code series, such as 3XX, 4XX, and 5XX series might show up in Valid with warnings or Excluded error. For the 4XX and 5XX series, they might show up in “Error“.
2. WordPress Error logs
Error logs are one of the best ways that help you to provide the underlying cause of any series issue or error on your WordPress site. To learn more, check out our dedicated blog on “How to Set up and Use WordPress Error Log?“.
3. Checking HTTP status code in Chrome
You might be surprised to know especially if you are a beginner that the server response code or HTTP errors can also be detected using your browser.
In the Chrome browser, you can do this by following these simple steps.
- Open the Website or page you want to check on Chrome browser.
- Right-click on any area of the page or website and select “Inspect element”
- Now select the “Network” Tab and Refresh the page.
- Scroll up to the list of requests and find the first of type “Document”.
- Now in “Status” you can see the HTTP error message.
Conclusion
The above status codes are just the ones that are popularly encountered, however, there are still a lot more HTTP status codes that are in use. However, certain codes are reserved to be used in the future.
Save your time, money, and resources, and give your website mammoth growth with WPOven’s the best wordpress hosting for agencies.
- 24X7 WordPress Expert support
- Cloudflare integration
- High-end Security
- Datacentres around the world, etc.
You can have all these features and much more in a single plan with unlimited Free migrations, unlimited staging, and a 14-day risk-free guarantee,Signup Now!
Snehil Prakash is a WordPress enthusiast and web development expert who previously served as the Marketing Manager at WPOven. He believes that business owners should spend their time investing in their core business missions, not setting up and maintaining a WordPress site.
Snehil has been instrumental in providing all-inclusive managed WordPress solutions to businesses of all sizes, ensuring that they have the resources they need for a robust online presence.
I had a doubt about 502 or 404 Error but your post have cleared all my doubt.
Good Post!