HTTP status codes are three-digit number codes that indicate success, error, or other properties when generating an HTTP request. They are a type of response a server generates for the browser-side request. You probably have seen “404 Page Not Found, “meaning the file or page is not currently on the server. These status codes are often called “response status” and link the server and the internet browser. They can vary depending on the information you are looking for.
The first digit in every code starts with a number between 1 and 5, which indicates the code’s category. The other two digits give additional information about the category.
For example, HTTP Status Code 205,
The first digit (2) depicts a successful response from the server.
The second and third digits (05) indicate the request was successful, but the server told the client to reset the document view.
Meaning of 205 Reset Content:
The server has successfully processed the request.
Similarly, there are different codes divided into 5 categories, each identified by the first digit. So, if you are a business professional, a developer, or an SEO expert, understanding HTTP status codes can help fix various website configuration errors.
HTTP Status Codes: Categories of the Web
HTTP status codes have 5 main categories, which are also called classes. Each category has specific codes that respond to the browser’s request.
1xx: Informational
A 1xx informational status code means the server has received the request and is continuing the process. The 1xx status code is temporary and given while the request processing continues. For most tasks, you would not encounter them very much since it is not a final response to the request.
Status Code |
Function |
100 |
Continue |
101 |
Switching Protocols |
102 |
Processing |
103 |
Early Hints |
- 100 Continue
100 status code tells a client that the server has received the request headers. The client may now proceed to send the request body. It indicates that the server is ready to continue and acknowledge the processing.
- 101 Switching Protocols
The 101 response is sent when the client requests a protocol change in an Upgrade header. In this case, the server recognizes the request and indicates the protocol to which it will change.
- 102 Processing
This status means that the request has come in and is being processed but has not yet received a final response. This is useful for long-running operations where the client needs assurance that the server remains busy processing its request.
- 103 Early Hints
This response allows preliminary headers, particularly with the Link header, to be registered before the final response is prepared, allowing the browser to start preloading resources. This improves loading speed.
2xx: Processing
The status code of 2xx indicates that the request was fulfilled and that the browser received the expected information. This is generally expected, as it indicates success that the request has been received, understood, and accepted.
Code |
Function |
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:
200 OK code provides a conventional reply for HTTP requests, which was successful. The actual meaning depends on the request method in use:GET:The requested resource was successfully fetched and is included in the response body.HEAD:Just the headers were sent; no content was sent.POST or PUT:A resource describing the outcome of the action is included in the response body.
- 201 — Created:
201 status code means the request was successfully processed, resulting in the creation of a resource. The location of the newly created resource is usually specified in the response headers.
- 202 — Accepted:
The request has been received and accepted for processing is shown by 202 status code, but the process is still ongoing. Completion is not guaranteed.
- 203 — Non-Authoritative Information:
203 signifies the origin server has not generated the information returned; it has been modified or obtained from a third party.
- 204 — No Content:
204 status code means the server has successfully accepted and processed the request but returns no content. The headers may still be useful.
- 205 — Reset Content:
The 205 reset content signifies that the server has completed the request and instructs the client to reset the view, which is most commonly applied in a form submission.
- 206 — Partial Content:
The server is sending the requested resource in parts is described by 206 status code. For example, while resuming a download, the client requests a specific byte range of the file.
- 207 — Multi-Status:
The reply carries various status codes relating to different parts of the request for multiple resources, as commonly used in WebDAV.
- 208—Already Reported:
This is used in WebDAV to indicate that the members of a resource have already been reported in a previous response and will not be repeated.
- 226 — IM Used:
The server responded to the request and indicated that one or more instance manipulations had been applied to the resource. This becomes useful when the client requests a specific transformation of the content.
3xx: Redirection
Redirections 3xx status codes mean that you have been redirected and that further action is required to complete the request. Redirects are just part of the internet; you shouldn’t feel afraid to have 3xx redirect status codes associated with your website. A redirect indicates that the request was received okay, but the resource is elsewhere.
Code |
Function |
300 |
Multiple Choices |
301 |
Moved Permanently |
302 |
Found |
303 |
See Other |
304 |
Not Modified |
307 |
Temporary Redirect |
308 |
Permanent Redirect |
- 300 – Multiple Choice:
The request could have several ways to respond, so it is the browser’s task to make the choice. This situation occurs when there are several file types or other scenarios requiring the server to disambiguate the request.
- 301 – Moved Permanently:
The 301 status code means the resource has been permanently moved to a new URL. Therefore, browsers and search engines should update their records and always request the new location.
- 302—Found:
302 code means the resource has temporarily been moved to a new URL. Future requests should continue to use the browser’s original URL. The method can change, as opposed to 307.
- 303—See Other
303 Directs the client to get the resource by carrying out a GET at a different URL. It is most often used as a response to POST, PUT, or DELETE to prevent the user from resubmitting forms.
- 304 – Not Modified:
It tells that the resource has not changed since previous requests and hence does not require the browser to download it, thus improving performance.
- 307 – Temporary Redirect:
Like 302, but make sure the HTTP request method, such as GET or POST, is unchanged while redirecting.
- 308 – Permanent Redirect:
It is like 301, but it ensures that the original request method in the HTTP remains unchanged while reverting to the URL.
4xx: Client-Side Errors
This request could not be fulfilled due to a downfall of incorrect syntax, unauthorized access, or an unavailable page on the client’s side. Errors caused by such errors indicate the requirement to modify requests to solve the problem.
Apart from annoying visitors, many 4xx errors can have an even more damaging impact on a website’s SEO visibility, which is reduced in search results because it would not be able to bring itself above other competing sites.
Code |
Function |
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 Time-Out |
409 |
Conflict |
410 |
Gone |
411 |
Length Required |
412 |
Pre-condition Failed |
413 |
Content Too Large |
414 |
URL too Large |
415 |
Unsupported Media Type |
416 |
Range Not Satisfiable |
417 |
Expectation Failure |
421 |
Misdirected Prompt |
422 |
Unprocessable Entity |
423 |
Locked |
424 |
Failed Dependency |
425 |
Too Early |
426 |
Upgrade Required |
428 |
Pre-condition Required |
429 |
Too Many Requests |
431 |
Request Header Field Too Large |
432 |
Unavailable For Legal Reasons |
- 400 — Bad request.
Since the request has a client-side problem, such as an invalid syntax or malformed request that has been routed deceptively or has a huge request size, the server can’t process the request.
- 401 – Unauthorized
401 Authentication is required for the requested resource, but the client has not been provided with valid credentials. Instead of saying 403 Forbidden, it implies that the server failed to recognize the client’s identity.
- 402 — Payment Required
Initially, it was intended for digital payment systems. However, it is rarely used. Some services use it to indicate:
Exceeded API request limits (Google Developers API is one), Unpaid service fees, etc
- 403 – Forbidden
The server recognizes the client but denies access because of insufficient permissions. In contrast to 401 Unauthorized, authentication is not the issue.
- 404 – Not Found
A nonexistent resource has been requested, and no redirects have been set. Frequent occurrences of 404 errors can create a serious dent in the SEO.
- 405 – Method Not Allowed
405 code means the server recognizes the request method (GET, POST, DELETE, etc.) as valid, but it cannot be applied to the requested resource.
- 406 – Not Acceptable 406 status code means the requested resource can generate no content matching the client Accept headers request. Thus, the server cannot provide an appropriate response format.
- 407 – Proxy Authentication Required
This status code is similar to 401 Unauthorized, but it requires the user’s authentication by an external proxy server before a user can get access.
- 408 – Request Timeout
408 status code signifies the server has just waited too long for the client to finish the request, which could be affected by network congestion, dropped packets, or a delay on the client side.
- 409 – Conflict
409 status code means the request could not be completed because of a conflict with the current state of the target resource. This is common when concurrent editing occurs by multiple users on the same resource simultaneously.
- 410 – Gone
410 status code permanently deleted resource is no longer left on the server and contrary to the 404 Not Found resource, this confirms the final deletion of the resource.
- 411 – Length Required
The server expects a Content-Length header for request processing from the client, but no such header has been forwarded.
- 412 – Precondition Failed
412 status code means the server cannot meet the request because the requirements in the request headers have not been satisfied.
- 413 – Payload Too Large
413 signifies that the body of the request is larger than the maximum allowed by the server, and thus, the request is rejected.
- 414 – URI Too Long
The requested Uniform Resource Identifier (URI) is too long for the server to process. This happens when there are too many query parameters in GET requests.
- 415 – Unsupported Media Type:
415 status code means the client is sending data in an unsupported format to the server. For example, it can send XML instead of JSON to an API that expects data in JSON.
- 416 – Range Not Satisfiable:
The server cannot fulfill a range request since the file’s requested portion is unavailable or outside the resource’s bounds.
- 417 – Expectation Failed:
417 status code means the client sends Expect request header requirements understood by the server but generally unsupported by the server due to limitations.
- 418 I’m a Teapot
The 418 status code means “I’m a teapot,” created as an April Fool’s joke in the HTCPCP/1.0 (Hyper Text Coffee Pot Control Protocol). It humorously signals that the server is a teapot and therefore cannot brew coffee. Although it’s not used in real HTTP applications, developers often include it as a fun easter egg in APIs and software.
- 421 – Misdirected Request:
The request was sent to a server that cannot produce a valid response; this would be a misconfigured load balancer, or proxy settings misconfigured.
- 422 – Unprocessable Entity:422 status code means the request was syntactically valid but contained logically erroneous information preventing the server from producing it, such as inappropriate data in forms on the submission.
- 423 – Locked:
Data is locked and cannot be accessed, which occurs through version control systems and protective mechanisms.
- 424 – Failed Dependency:
424 status code means the request failed because it depended on another request, which also failed.
- 425 – Too early:
The Server refuses to process any request that may be replayed due to some security reasons.
- 426 – Upgrade Required:
426 status code means the server needs the client to switch to a different protocol, from HTTP to HTTPS.
- 428 – Precondition Required:
The server requires some conditional requests to prevent accidental data overwrite.
- 429 – Too Many Requests:
429 status code means the client has surpassed the rate limits of the server in a specified time frame, typically using:
API rate limits
Bot requests
DDoS protection mechanisms
- 431 – Request Header Fields Too Large:
The server rejects the request as headers are more than the size limit possible, which might be due to:
Excessively long cookies
Large authentication tokens
Detailed User-agent strings
- 444 No Response
The 444 status code means a non-standard code used mainly by Nginx servers. It means the server closes the connection without sending any response to the client. It’s typically used to block bad requests, bots, or attacks quickly, without wasting server resources.
- 451 – Unavailable for Legal Reasons:
The 451 status code means the requested content is restricted from access for legal reasons, such as government censorship or DMCA takedown requests.
5xx: Server Side Failures
Server-side mistakes fall under this category. They can ruin your SEO, as search engines can direct crawlers to slow down on crawling and pulling indexed URLs that keep throwing these errors.
Code |
Function |
500 |
Internal Server Error |
501 |
Not Implemented |
502 |
Bad Gateway |
503 |
Service Not Available |
504 |
Gateway Timeout |
505 |
HTTP Version Not Supported |
506 |
Variant Also Negotiates |
507 |
Insufficient Storage |
508 |
Loop Detected |
511 |
Network Authentication Required |
- 500 – Internal Server Error:
The server is not capable enough to understand or decode the request. This means that the problems lie internally.
- 501 – Not Implemented:
The server does not support the request method or has not yet been implemented. This happens usually when one tries to use an unsupported HTTP method.
- 502 – Bad Gateway:
While acting as a gateway or proxy, the server has received an invalid response from the other server. This might also be due to net issues and misconfigured servers.
- 503 – Service Unavailable:
503 signifies that the server is temporarily down because of overloading or is under maintenance and cannot process your request.
- 504 – Gateway Timeout:
The server acted as a gateway and did not receive a timely response from the upstream server. In most cases, this happens when that upstream server is very high.
- 505 – HTTP Version Not Supported:
505 status code mean server does not support the HTTP version specified by the request.
- 506 – Variant Also Negotiates:
Misconfiguration in content negotiation has resulted in an internal error.
- 507 – Insufficient Storage:
507 status code means the server does not have sufficient storage space to fulfill the request.
- 508 – Loop Detected:
While processing the request, the server discovered an infinite loop and returned an error.
- 511 – Network Authentication Required:
The client must authenticate to access the network, usually by logging in using the provided link.
- 599 – Network Connect Timeout Error:
The 599 status code is a non-standard code typically used by proxy servers to signal a network connection timeout. It happens when the server fails to get a response from an upstream server within a set time. It’s commonly seen in custom APIs, proxies, or load balancers but is not part of the official HTTP standard.
What do HTTP Status Codes Mean For SEO?
The crawler has information about the HTTP status code when crawling your website. On rare occasions, these messages influence whether and how your pages are indexed and how search engines perceive the site’s health. For instance:
Conclusion:
HTTP Status codes may sound confusing, but they are important in server-client interactions. Whether you’re developing a website or optimizing it for SEO, having the proper understanding of these codes can ensure the smooth functioning of your web pages and more effectively optimize website performance.
However, to fully optimize your website’s potential, partnering with an expert agency like ResultFirst is always better. With years of experience, we drive strategies to leverage these status codes to enhance SEO and maximize website performance. We aim to advance your website, ensuring better search rankings, faster load times, and a seamless user experience.
FAQ’s:
HTTP status codes are simply numerical codes consisting of three digits used to indicate to a client whether a confirmed request to a server was accepted or rejected; in other words, if the request is granted, redirected, rejected by a client error, or rejected because of a fault on the server side.
A 404 Not Found error means a request for a particular webpage or resource was not found on the server. Other factors could include broken links, deleted items, or a mistyped URL.
301: Moved Permanently: Assigns the new URL to the resource permanently. Search engines update the index accordingly.
302: Found (Temporary Redirect): The resource is temporarily elsewhere. However, the original URL must be used for all future requests.
Yes, many HTTP codes have a diverse impact onf SEO rankings. For instance.
3xx (Redirects): A 301 redirect is good for SEO. Too many redirects can create a bottleneck for indexing.
4xx (Client Errors): 404, poor user experience and, if there are too many of them, harm your SEO ranking.
5xx (Server Errors): Show problems with the website, which can negatively affect SEO if not resolved.
An internal server error 500 happens when the server fails to complete the request due to unexpected circumstances. Factual reasons could be server overload, incorrect code, or misconfigured web server settings.