HTTP status code or HTTP response status code is the response sent from the server on the request by the client from the browser. In simple terms, it is the server’s response to the browser requests.
You would have encountered 409 (Bad Gateway request) for any web page you request in the browser. The number 409 is one such response code from the server stating bad gateway request.
As we said earlier, these response status codes are conversations between your browser and the server over the Internet. Whenever a request is made through the browser, the server looks at the web page status- whether the page is okay to load or comes with any issues.
From that standpoint, the HTTP response status code is basically categorized into 5 broad groups with 69 various response status codes.
Types of HTTP Status Code:
- Informational Responses (1xx) – When the request was received and understood by the server.
- Successful Responses (2xx) – The request was received and accepted
- Redirection Responses (3xx) – The request was received, but the request has a redirect to other location.
- Client Errors (4xx) – The request can’t be accepted due to some issue in the website.
- Server Errors (5xx) – The request can’t be executed due to the server error.
Informational Response (1xx):
When the server responds with a 1xx status code, you should understand the request from the browser is accepted and in process. It awaits the final response from the server.
Important 1xx HTTP response codes are
100 – Continue
The user should continue with one more request. This denotes that the initial phase of the request is received and not rejected by the server.
So, the user should send reminders to the request. The server will send the final response once the request is accepted.
101 – Switching Protocols:
The client requests a change in the application protocol for this connection via the Upgrade message header field, and the server accepts this request.
In response to the empty line which terminates the 101 response, the server will switch to the protocols defined by the Upgrade header field.
Switching the protocol is only beneficial when it is necessary.
102 – Processing (WebDAV; RFC 2518):
The processing response status is when the server has accepted to complete the request but hasn’t finished them. 102 response code is only sent to the user when a prime reason takes time to complete the request.
When the server takes more than 20 seconds to respond to the browser post accepting the request, the server response will be 102.
Success Response (2xx):
The 2xx HTTP response code is what every SEO experts look for on the potential pages, as it denotes a successful response to a request. As per the 2xx status code, the server has received a request from the browser, understood, and accepted the proposal.
200 – OK:
It is a general HTTP response that denotes the web page is working properly and has a high chance of indexing.
The web page containing the 200 response codes is accessible by users and bots. It also passes the link equity between web pages.
201 – Created:
A new resource has been created as a result of fulfilling the request. URLs returned in the response entity can be used to reference the newly created resource, with a Location header field containing the most specific URL
202 – Accepted:
When the server accepts the request, yet not completed, your browser will receive a 202 response code. This request might either be executed or be disallowed during the process.
This 202 response code is never a commitment to complete the request. It allows the server to accept the request that doesn’t require the user agent connection with the server.
203 – Non-Authorized Information:
The request returns as 203 when the information in the entity header doesn’t belong to the original server. In contrast, it collects data from third-party servers. It’s an act of non-authorized information.
204 – No Content:
When a server accepts a request and doesn’t return the content, the response code will be 204.
205 – Reset Content:
This response code 205 returns to your browser, when the server has accepted your request, but request the user agent to reset the document view.
In the response, user input is used to allow the user to initiate actions via input, followed by a form clearing to allow for another input action to be initiated easily.
206 – Partial Content:
Despite the client’s range header, the server is only delivering part of the resource. Tools such as Wget use range headers to resume interrupted downloads or divide downloads into multiple streams.
207 – Multiple-Status (WebDAV):
There are multiple independent operations represented by the 207 (Multi-Status) status code. According to how many sub-requests were made, the message body can contain a number of separate response codes.
208 – Already Reported (WebDAV):
In a DAV: propstat response element, the 208 (Already Reported) status code can be used to avoid repeatedly enumerating the internal members of multiple bindings.
226 – IM Used:
This response represents an instance-manipulation that has been applied to the current instance as a result of a GET request for the resource.
Redirection Response (3xx):
Whenever a target web page is destined for another web page, the server sends the 3xx HTTP response code to the browser.
300 – Multiple Choices:
This HTTP response status code appears when there are multiple options available to the client for the resource. A video could be shown in several formats, files with different extensions could be listed or word senses could be disambiguated.
301 & 308- Moved Permanently:
When a web page is permanently moved to another, the server sends 301 response code.
Links to the Request-URL should be automatically relinked, where possible, to a new reference returned by the server by clients that have link editing capabilities.
When a 301 status code is returned in response to a request other than GET or HEAD, the user agent must NOT redirect the request without the user’s confirmation since this might change the request’s conditions.
302 & 307 – Moved Temporarily:
When a web page is redirecting to other page for a time period, the server sends 302 HTTP status code.
As there is a possibility of redirection alteration, the client should use the requested URL from now on. Cache-Control or Expires header fields indicate whether this response should be cached.
Location field in the response SHOULD contain the temporary URL. It is expected that the entity of the response will include a short hypertext note that contains a hyperlink to the updated URL, unless the request method was HEAD.
303 – See Other:
Responses to requests can be found under another URI using the GET method. It should be assumed that a POST (or PUT/DELETE) has received the data and a separate GET should be issued with the redirect.
304 – Not Modified:
It indicates that the resource hasn’t been modified since the last request. HTTP clients usually provide a header like the If-Modified-Since header to provide a comparison time.
The server and client both save bandwidth and reprocessing by sending and receiving only the header data, as opposed to reprocessing the entire page and sending it again, which uses more bandwidth of the server and client.
305 – Use Proxy:
Using the proxy specified in the Location field MUST be used to access the requested resource. It contains the URL of the proxy. This single request must be repeated via the proxy by the recipient. Only origin servers can generate 305 responses.
306 – Unused:
This status code was used in an earlier version of the specification, has been retired, and is reserved.
Client Error (Internal Website) - 4xx:
4xx HTTP response code is sent by the servers, whenever there is an issue with website or client. It is also known as internal errors.
If any web pages affected by 4xx status code, it’s high time for technical SEO team to fix them immediately.
400 – Bad Request:
Server sends this response code, when it finds difficult to understand the browser request, and it might be due to malformed syntax. It is advised for the website to modify or fix the issue, before another request sent to the server.
401 – Unauthorized:
When the web pages verification of user, and if verification fails, the server response with 410 status code (unauthorized request).
There MUST be a WWW-Authenticate header field in the response containing the challenge for the resource requested. A suitable Authorization header field may be included in the request.
401 responses indicate that authorization for the credentials included in the request has been denied.
403 – Forbidden:
Although the server understands the request, it refuses to fulfill it. It is not necessary to repeat the request if authorization does not help.
The server SHOULD explain in the entity why the request was not fulfilled if the method was not HEAD.
Clients can receive the status code 404 (Not Found) if the server does not want to make this information available.
404 – Not Found:
Server response of the page is 404 not found in the client’s website, they are also known as the broken links.
In SEO stand point, a web page with internal or outbound broken links can hurt the performance.
Neither a temporary nor permanent condition is indicated. If a resource is permanently unavailable and has no forwarding address, the server should use the 410 status code.
410 – The Page is Gone:
The requested resource is no longer available and will not be made available again. When an intentionally removed resource needs to be purged, this command should be used.
Once a 410 status code has been received, the client should not request the resource again.
The resource should be removed from search engine indexes by clients such as search engines. Typically, clients and search engines do not need to purge the resource, and a “404 Not Found” may suffice.
Other 4xx HTTP status code:
- 402- Payment Required
- 405 – Method not allowed
- 406 – Not Applicable
- 407 – Proxy Authentication Required
- 408 – Request Timeout
- 409 – Conflict
- 411 – Length Required
- 412 – Precondition Failed
- 413 – Request Entity too large
- 414 – Requested URL is too long
- 415 – Unstopped Media Type
- 416 – Requested range not satisfiable
- 417 – Expectation failed
- 418 – I’m a teapot (RFC 2324)
- 420 – Enhance your calm
- 422 – Unprocessable Entity
- 423 – Locked (WebDAV)
- 424 – Failed dependency (WebDAV)
- 425 – Reserved for WebDAV
- 426 – Upgrade Required
- 428 – Precondition required
- 429 – Too many requests
- 431 – Request header fields too large
- 444 – No Response (Nginx)
- 449 – Retry with Microsoft
- 450 – Blocked by windows parental controls (Microsoft)
- 451 – Unavailable for legal reasons
- 499 – Client closed request (Nginx)
External Server Error (5xx):
5xx HTTP response code is send by the servers, whenever there is an issue with the server itself. It is also known as external errors.
If any web page is affected by 5xx status code, fix them immediately.
500 – Internal Server Error:
Server was unable to fulfill the request due to an unexpected condition.
502 – Bad gateway:
When acting as a gateway or proxy, the server received an invalid response from the upstream server.
503 – Service Unavailable:
The server is currently unavailable for reasons like
- server maintenance.
504 – Gateway Timeout:
Servers serving as gateways or proxy servers did not receive timely responses from upstream servers.
Sometime, DNS lookups time out could be a reason for 504 response code.
Other 5xx HTTP status code:
- 501 – Not implemented
- 505 – HTTP version not supported
- 506 – Variant also negotiates
- 507 – Insufficient storage (WebDAV)
- 508 – Loop detected (WebDAV)
- 509 – Bandwidth limit exceeded (Apache)
- 510 – Not extended
- 511 – Network authentication required
- 598 – Network read timeout error
- 599 – Network Connect timeout error
14 HTTP Status Code Important for SEO Process:
- 200 – Ok
- 202 – Accepted
- 301 – Moved Permanently
- 302 – Moved Temporary
- 304 – Not Modified
- 400 – Bad Request
- 401 – Unauthorized
- 403 – Forbidden
- 404 – Page Not Found
- 410 – The Page is Gone
- 500 – Internal Server Error
- 502 – Bad Gateway
- 503 – Service Unavailable
- 504 – Gateway Timeout