Understanding HTTP Status Codes and What They Mean


Last Updated on January 5, 2022

Understanding HTTP Status Codes | A Blocks of Letters H,T,T and P

When sending an HTTP request to a website, most web browsers will automatically send the appropriate HTTP status codes to tell the website whether your request was successful or not. But what are these status codes? What do they mean? Below you’ll find a list of status codes.

As white label SEO professionals for a white label SEO company, we know that HTTP status codes are exceptionally helpful in identifying errors on a website. Such errors can cause massive ranking issues and search engine trust. No one, both users and search engines, wants to see unstable websites in the search results.

Select the status code group to easily drop down to that section:


2xx HTTP Status Codes:

Identifying Errors | A Girl Sitting In Front of A Computer Showing an Error200 OK – Successful HTTP Request. This is probably the most common HTTP response you will get from a website. It means that your request was successful and your data was sent back to you.

201 Created – Successful HTTP Response, but New Resource Created. This is the response to GET requests that return data attached to an HTTP Location header field. The Location header field contains the URL of the newly created resource. It will be sent only if the request used the POST method or other methods that do not create a resource to which a response can be sent by itself.

202 Accepted – Request Accepted for Processing, Further Handling Required. This response is given by a web server (typically, a proxy server) that accepts a request for further processing, but that does require any sort of action from the client beyond the immediate acknowledgment of the receipt of the request.

203 Non-Authoritative Information – Useful for Caching. This is typically a response code used in HTTP’s network-level caching mechanisms. The information it contains might be from an entity other than the resource identified by the Request-URI. The result might indicate that the request cannot be satisfied by the proxy or cache due to stale content. However, it does not indicate whether the tip is an entity to which a 200 (OK) response can be sent.

204 No Content – Request Served but No Content Returned. This means that the server successfully processed the request but is not returning any content for this particular request. This is typically used when serving static files, such as images or other static web assets.

205 Reset Content – Reset Content for Requested Resource. This indicates that the server has prepared a response for this request but is not sending it back to the client. The client should resend the request without modifications. This response code is commonly used in conjunction with 204 (No Content) responses to indicate that the resource identified by the Request-URI has been “reset” so that it can remain in its current state while further requests are processed, but these requests will return an indefinite content-length: “0 bytes”.

206 Partial Content – Some Incomplete Representation Received. This indicates that the server successfully processed a request but is not returning a full representation of the requested resource. Often, the 206 response will be accompanied by a Retry-After header field, which contains a value indicating how long the client should wait before making another request for this resource.


3xx HTTP Status Codes:

301 Moved Permanently – Permanent Redirection to New Location. This code is only relevant to HTTP redirects. A 302 response indicates that the requested resource is no longer available. The URI in a 302 response will never resolve to the original resource, as it has been permanently redirected to a new location.

302 Found – Successful Redirection. This indicates that the requested resource has been found after successful redirection. The landing page of the original request will be found under a new URL specified in the Location header field of the response.

303 See Other – The Requested Resource Exists, but the Request Should be Paced. This indicates that the request can be handled, but it requires additional time before returning a result. Often, this response will be accompanied by the Retry-After header field, which indicates the time after which the client should retry this request.

304 Not Modified – The Request has Been Successfully Processed and No Action is Required. This means that the response met all of its requirements (e.g. validation) but that the resource has not been modified since the last time this request was executed. In other words, it is a “304 Not Modified” response that does not require any additional action from the client to continue processing.

305 Use Proxy – Request Should be Routed Through Proxy. This is a response code used mainly in conjunction with intermediate proxy servers. The actual response will only include a status code and an optional encrypted WWW-Authenticate header field. It will leave the actual content unchanged and accessible only by the proxy server.

307 Temporary Redirect – HTTP Request Rerouted to Another Location. This response code indicates that the client’s request has been redirected to another URL by the server. The new URL will be provided in the Location header field of this response, which will either be a complete or partial URI. This code can be used to redirect a request from a script or program on one server to another location on the same server or a different server altogether.

308 Permanent Redirect – HTTP Request Rerouted to Another Server. This response code indicates that the client’s request has been redirected to another location on the same server or a different server altogether. The new URL will be provided in the Location header field of this response, which will either be a complete or partial URI. This code can be used to redirect a request from a script or program on one server to another location on the same server or a different server altogether.


4xx HTTP Status Codes:

Ranking Issues | A Man Running With a Burning Laptop403 Forbidden – Request Permission Denied. This response code indicates that the server is aware of the request, but there is no way to fulfill it. The client should stop sending requests for this resource.

404 Not Found – The Requested Resource Could Not be Found. This means that the server can not find an entity corresponding to this request or maybe does not understand what the client meant by its request. Either way, the client should not proceed with its request.

405 Method – Request Must Use POST to Retrieve Data from Resource. This is used to indicate that the server does not accept requests using the GET method, usually because it makes no sense for this resource.

406 Not Acceptable – The Requested Resource is Only Acceptable with Negotiable Parameters. This means that the request could not be fulfilled due to an error on the part of the client or possibly due to stateless HTTP proxy servers. The response will include an entity describing why it can not be filled. If no representation of this entity is available, there is no need for the response to contain one.

408 Request Timeout – The Server could not Respond in Time. The client should retry the request, properly following the time requirements specified by the Retry-After header field or a Retry-After response header or by a server specified elsewhere in the body of the response. If Retry-After header is omitted, the client can retry immediately, but no earlier than Retry-After time.

413 Request Entity Too Large – The request contains content that the server either does not support or refuses to accept for other reasons. The response will include an entity describing why it can not be filled. If no representation of this entity is available, there is no need for the response to contain one.

414 Request-URI Too Long – The URI provided was too long for the server to process. This may indicate an attempt to exploit a buffer overflow vulnerability in the webserver.

415 Unsupported Media Type – The resource requested requires data formatted in a manner that the server or resource does not support. The response will include an entity describing why it can not be filled. If no representation of this entity is available, there is no need for the response to contain one.

416 Requested Range Not Satisfiable – A server-side software component did not produce a valid HTTP range header, which it should have if the range was acceptable to the origin server. The response will include an entity describing why it can not be filled. If no representation of this entity is available, there is no need for the response to contain one.

417 Expectation Failed – The server touched a section of the document that has been ignored, though the client did not expect this section to be affected. Usually caused by a web spider or crawler. The response will include an entity describing why it can not be filled. If no representation of this entity is available, there is no need for the response to contain one.

420 Unprocessable Entity – The request was not acceptable due to being oversized. This response code is deprecated. HTTP clients should treat it as a 400 Bad Request error instead.

421 Locked – The resource cannot be modified directly from the client, but it can be “locked” using a conditional GET or POST request. If the locked resource is a file, its contents are returned in a Content-Range header field indicating what part has been received so far and what is still being received. If the locked resource is an entity, its response is a series of entity headers beginning with the header fields.

422 Multi-Status – The server has multiple representations of a resource in various states and algorithms, which could be updated at any moment to replace the current representation with a new one. For example, a CD purchased from a store may have an encrypted copy that was sent to the buyer by e-mail, while having another local copy in its archive.

423 Locked – The resource cannot be modified directly from the client, but it can be “locked” using a conditional GET or POST request. If the locked resource is a file, its contents are returned in a Content-Range header field indicating what part has been received so far and what is still being received. If the locked resource is an entity, its response is a series of entity headers beginning with the header fields.

424 Not Modified – The entity has not been modified since the response was generated.

426 Partial Content – The server can not produce a more appropriate representation of the request entity. This code states that the server is only able to return part of the content requested but will send what it can.

HTTP status codes are exceptionally helpful in identifying errors on a website. Such errors can cause massive ranking issues and search engine trust. Click To Tweet

5xx HTTP Status Codes:

500 Internal Server Error – Something went wrong on an internal level while generating or processing the request, but while not on a level that would be considered an error by any client.

501 Not Implemented – The resource is not implemented, however, it will forward to an available, closely related resource.

502 Bad Gateway – The server acting as a gateway or proxy does not handle the type of request normally and can not fulfill it. This is usually caused because the server was unaware of how to process the given request.

503 Service Unavailable – The server is temporarily unable to handle the request due to maintenance downtime, overloaded servers, or other reasons.

504 Gateway Time-out – The server does not handle the gatewayed request due to a time-out.

505 HTTP Version Not Supported – The server is unable to process the request because this is not one of the supported protocols.

506 Variant Also Negotiates – The server only serves variants of the resource. This response code must be used if you prefer that variants of your content are handled separately, for example, images or stylesheets.

507 Insufficient Storage – The server is unable to store the representation needed to complete the request. This may be due to a temporary failure, which may indicate a temporary inability to process requests. It is also used when the user has no storage space available in their account or if their storage quota has been exceeded.

508 Loop Detected – This code is similar to a 403 Forbidden but it means that you have not been authorized yet because your IP address has been blocked from accessing the site. For this reason, the response body should contain a WWW-Authenticate header field indicating how the user can authorize itself.

509 Not Extended – The server does not support the “profile” OData operation. If you need to do a profile request, use a GET request instead. In this case, if your client application is not OAuth2 compatible, it may omit the WWW-Authenticate header field and treat this as a blank response.

510 Not Extended – The server does not support the “schema” OData operation. If you need to do a schema request, use a GET request instead. In this case, if your client application is not OAuth2 compatible, it may omit the WWW-Authenticate header field and treat this as a blank response.

511 Network Authentication Required – The client needs to authenticate to gain network access. The code is used in a 401 response. The response can include a WWW-Authenticate header field with additional authentication options.

599 Network Authentication Required – The client needs to authenticate itself to gain network access. The code is used in a 407 response. In this case, if your client application is not OAuth2 compatible, it may omit the WWW-Authenticate header field and treat this as a blank response.


6xx HTTP Status Codes:

Technical SEO | A Enter Bar In A Keyboard With A Setting Icon600 Busy – The server is temporarily unable to handle the request due to a high volume of requests. This may be accompanied by a Retry-After header field indicating when the service is likely to be available again. If the request method was not HEAD and defined at least one request entity, it should also include an Entity-Body with error_status and error_reason values if applicable.

601 Declined – The server declined the request and will include the reason for this (e.g., user account not authorized).

602 Bad Gateway – The server does not handle the gateway for the requested resource. For example, a request to one of its endpoints returned this error. It might happen if a server from a different host is acting as a gateway for this resource.

603 Service Unavailable – The server is temporarily unable to handle the request due to maintenance downtime, overloaded servers, or other reasons. In some cases, this may be caused because the service has been rendered unavailable to external clients by another service shutting it down temporarily to perform maintenance.

604 Method Not Allowed – The method is not allowed for the requested resource. This should rarely be used as a response because the error_status value is more descriptive and it exists for a long time.

605 Variant Also Negotiates – The server only serves variants of the resource. This response code must be used if you prefer that variants of your content are handled separately, for example, images or stylesheets.

606 Not Acceptable – The client must accept the enclosed representation.

607 Insufficient Storage – The request could not be processed because the server is unable to store the representation needed to complete the request. This may be due to a temporary failure, which may indicate a temporary inability to process requests. It is also used when the user has no storage space available in their account or if their storage quota has been exceeded.

610 Precondition Failed – The condition was not satisfied by the information received from a previous request. The request can include a body, the Content-Type of which must be a valid available representation.

611 Network Authentication Required – The client needs to authenticate itself to gain network access. The code is used in a 407 response. In this case, if your client application is not OAuth2 compatible, it may omit the WWW-Authenticate header field and treat this as a blank response. This code should only be used when authenticating against an external server or service and not against the requestor itself.

616 Bad Request – The request was invalid or is not supported. This should be a super code indicating that the request was malformed. For example, a request with no entity-body.

617 Already Replying – The server is already replying to a previous request. It may be used in some cases when the client sends a second request while the first one is still being processed.

618 Internal Server Error – Internal server error or misconfiguration of server-generated a faulty response.

619 Request Time-out – An uncaught exception, timeout, or other technical problem occurred which prevented further processing of the request. The response message body will usually include more details about the problem.

620 Bad Gateway – The server does not handle the gateway for the requested resource. This happens when a server from a different host is acting as a gateway for this resource.


7xx HTTP Status Codes:

711 Unknown Resource – The server does not handle this particular request method or it can not make sense of the request-body.

712 Unprocessable Entity – The request entity was well-formed but was unable to be processed. This may be due to a server-level validation error, or if it is a response, that the response has expired or is referring to a deleted resource. This may be accompanied by a Retry-After header field indicating when the service is likely to be available again.

713 Locked – The resource is used by another system, or is otherwise read-only. This may be accompanied by a Retry-After header field indicating when the service is likely to be available again.

714 Shared Use – The resource has been allocated to more than one client. This should be used in conjunction with 411 (Use Conflict) response codes where one client should not be given exclusive access to the resource. It may also indicate that further transactions on this resource should wait until other clients have finished their transactions.


9xx HTTP Status Codes:

915 Request Entity Too Large – The server was unable to process the request body due to its great length. If you want to include a large document in your request, consider using a POST and limiting the length of the document.

917 Request Entity Too Large – The server was unable to verify that the request is well-formed due to its great length. If you want to send a long-form in your request, consider using POST instead.

918 Request Entity Too Large – The server was unable to verify that the request is well-formed due to its great length. If you want to send a long-form in your request, consider using POST instead.

919 Request Entity Incomplete – The server does not have enough information to process the request because the entity is too small, or the media type is not supported. This can be used by a client that wants to verify that a request has been received and whether it contains all of the necessary information before continuing processing.

930 Authentication Required – The client tried to authenticate itself but failed, so no entity-body was returned. It may be accompanied by a WWW-Authenticate header field containing information on how to authenticate itself.

980 Not Found – A resource could not be found. This may indicate an error with one of the identifiers defined for this API, such as API key or API path (URI).

999 Unknown Error – A generic error has occurred. There is no additional information available about the problem. It can be used as a response to any unexpected failures.

This concludes the extensive list of HTTP status codes that you can encounter. Thankfully, most of these are very rarely found in the wild, but it is important to know what to do when you find them. That’s why it’s vital to work with white label SEO professionals who can identify the issue and find a proper resolution for it.

Listen to our CEO’s podcast “The Daily Drive” to stay driven and get great business insights from top business leaders. – Are you ready to scale your agency with a quality white label SEO, white label PPC, or white label social media provider?
If so schedule a meeting here –