An HTTP (Hypertext Transfer Protocol) status code is issued by a server in response to a client’s request made to the server. Consequently, the HTTP status code becomes part of the HTTP response. As a result, it indicates the status of the request.

The HTTP status codes are classified into five different categories. The classification system is not too complicated. Each category indicates a different type of message regarding the request.  

What are HTTP Status Codes? 

HTTP statuses codes are three-digit numeric codes that are issued by a server in response to a browser request. 

When you click a link or type in a particular URL in the web browser and hit the enter key, the browser sends that request to the web server you are trying to access. Afterward, the server receives the request, processes it, and finally returns the requested resource, along with an HTTP header.

Although status codes are provided every time your browser requests a web page or resource, generally, you do not see them. However, the only time you would see one in your browser is when something has gone wrong. In essence, this is the server’s way of saying: “Something is not right. Here is a code to explain what has gone wrong.

If you’re looking for the status codes that your browser does not show, there are many ways to access them. For instance, there are browser add-ons for developer-friendly browsers like Chrome and Firefox. Additionally, there are many web-based header-fetching utilities available as well.


To see HTTP status codes with one of these tools, look for the line that appears towards the top of the report that says “Status: HTTP 1.1”. This line will be followed by the status code that was returned from the server. 

List of HTTP Status Codes 

1xx – Informational Responses 

STATUS CODE 

MEANING 

100

Continue 

101

Switching Protocols 

102

Processing 

103

Early Hints 

2xx – Successful Responses 

STATUS CODE 

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

3xx – Redirection 

STATUS CODE 

MEANING 

300

Multiple Choices 

301

Moved Permanently

302

Found

303

See Other

304

Not Modified

305

Use Proxy

307

Temporary Redirect

308

Permanent Redirect

4xx – Server Error

STATUS CODE 

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 

429

Too Many Requests

431

Request Header Fields Too Large

451

Unavailable for Legal Reasons 

5xx – Server Error

STATUS CODE 

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

Types of HTTP Status Codes: 

  • 1xx – Informational Response: The server has received the request, and the process continues.
  • 2xx – Successful Response: The server successfully receives, understands, and accepts the request.
  • 3xx – Redirection: The server requires further action to fulfill the request.
  • 4xx – Client Errors: The request has bad syntax or cannot be fulfilled. 
  • 5xx – Server Errors: The server failed to fulfill a valid request. 

1xx – Informational Responses 

These codes indicate that the server has received the request and is continuing the process. Modern web applications rarely use them.

  • 100 Continue: The server has received the request header and the client should proceed to send the request body. 
  • 101 Switching Protocols: This status code indicates that the server is switching to a different protocol as requested by the client. For example, it may involve switching from HTTP/1.1 to HTTP/2.
  • 101 Switching Protocols: This status code indicates that the server is switching to a different protocol as requested by the client. For example, it may involve switching from HTTP/1.1 to HTTP/2
  • 102 Processing: This status code indicates that the server has received the request and is currently processing it. However, no response is available yet. WebDAV commonly uses it.

2xx – Successful Responses 

These status codes illustrate that the server successfully processed the request. 

  • 200 OK: The request succeeded, and the server sent back the requested data. 
  • 201 Created: This status code indicates that the request succeeded, and as a result, the server created a new resource.
  • 202 Accepted: This status code indicates that the server has accepted the request for processing. However, it has not yet acted on the request.
  • 203 Non-Authoritative Information: This status code indicates that the server processed the request successfully. However, the information may be sourced from a cached copy.
  • 204 No Content: This status code indicates that the request was successful. However, there is no content to be returned.
  • 205 Reset Content: The server has processed the request successfully but the client should reset the view of the document. 
  • 206 Partial Content: The server is delivering a portion of the resource as requested by the client using range. 
  • 207 Multi-Status: This status code is used in WebDAV when the server wants to return multiple status codes for different operations. Consequently, it allows the server to communicate the status of each operation separately.
  1. 208 Already Reported: The members of a DAV binding and are already listed in a previous reply. 
  • 226 IM Used: The server has fulfilled a request for the resource, and the response is an instance-manipulation. 
3xx – Redirection 

These status codes indicate the client must take additional action to complete the request. 

  • 300 Multiple Choices: Multiple options for resource the client can choose from. 
  • 301 Moved Permanently: The resource has been permanently moved to a new location (URL). 
  • 302 Found: This status code indicates that the resource is temporarily located at the new URL. However, the client should continue using the original URL for future requests.
  • 303 See Other: Client should follow the alternate URL to the resource (used with POST requests). 
  • 304 Not Modified: This status code indicates that the resource at this URI has not been modified since the last request. Consequently, the server tells the client to use the cached version of the resource.
  • 305 Use Proxy: Access to the requested resource must be through the proxy provided. 
  • 307 Temporary Redirect: This status code indicates that the resource is temporarily located at a different URL. However, the client should continue using the original URL for future requests.
  • 308 Permanent Redirect: The resource has permanently moved to a new URL, and the client should use the specific URL for future requests. 

4xx – Client Errors 

This indicates that the client has made an improper request, and that the server will not be able to process it. 

  • 400 Bad Request: This status code indicates that the server could not understand the request due to malformed syntax. Therefore, the server is unable to process the request. Consequently, the issue arises from the incorrect structure of the request.
  • 401 Unauthorized: This status code indicates that authentication is required but has either failed or has not been provided. Consequently, the server denies access to the requested resource. Therefore, you must provide valid authentication credentials to gain access.
  • 402 Payment Required: This status code is reserved for future use, such as for digital payment systems. Consequently, it is not currently in widespread use.
  • 403 Forbidden: Although the server understood the request, it is refusing to authorize it.
  • 404 Not Found: The server cannot find the requested resource. 
  • 405 Method Not Allowed: The request method is known by the server; however, it is not supported for the requested resource. For example, this can occur when attempting to use POST on a read-only resource. Consequently, the server responds with this status code to indicate that the method is not allowed for the specific resource.
  • 406 Not Acceptable: This status code indicates that the server can only generate a response that, therefore, is not acceptable by the client’s requested resource. Consequently, the server is unable to fulfill the request as expected.
  • 407 Proxy Authentication Required: The client must first authenticate itself with the proxy. 
  • 408 Request Timeout: The server timed out waiting for the client’s request. 
  • 409 Conflict: The request could not be completed due to a conflict with the current state of the target resource. Consequently, the server cannot process the request as expected.
  • 410 Gone: The requested resource is no longer available and will not be available again. 
  • 411 Length Required: The server refuses to accept the request without a defined Content-Length header. 
  • 411 Length Required: The server refuses to accept the request without a defined Content-Length header. 
  • 412 Precondition Failed: The server does not satisfy one of the preconditions stated by the client. 
  • 413 Payload Too Large: The request is larger than the server is willing or able to process. 
  • 414 URI Too Long: The URI provided was too long for the server to process. 
  • 415 Unsupported Media Type: The request entity has a media type which the server or resource does not support. 
  • 416 Range Not Satisfiable: The server cannot provide the requested range of the resource. 
  • 417 Expectation Failed: The server cannot satisfy the requirements of the Expect request-header field. 
  • 418 I’m a teapot: This is an April Fools’ joke in the HTTP/1.1 specification (RFC 2324). It is not used in actual HTTP responses. 
  • 421 Misdirected Request: The request was directed at a server that is not able to produce a response. 
  • 422 Unprocessable Entity: The server understands the content type and the content encoding of the request, but was unable to process the contained instructions due to semantic errors. In this case, this code is used in WebDAV. Consequently, the server cannot fulfill the request, even though it understands the content.
  • 423 Locked: The resource is locked (WebDAV). 
  • 424 Failed Dependency: The request failed due to a previous request’s failure (WebDAV). Consequently, the server could not process the request as expected.
  • 425 Too Early: the server doesn’t want to process a request that could be replayed (HTTP/2). 
  • 426 Upgrade Required: client should switch protocols (e.g., HTTP/2). 
  • 428 Precondition Required: the server has certain conditions for processing a request. 
  • 429 Too Many Requests: the user has sent too many requests during a particular time period (rate limiting).
    Picture 1, Picture
  • 431 Request Header Fields Too Large: the headers in the request are too large for the server to process. 
  • 451 Unavailable for Legal Reasons: the resource is unavailable for legal reasons. 
5xx – Server Error  

The server failed to fulfill a valid request. 

  • 500 Internal Server Error: A generic error message used when the server fails to process a valid request. 
    Picture 1, Picture
  • 501 Not Implemented: The server does not support the functionality required to fulfill the request. 
  • 502 Bad Gateway: The server received an invalid response from the upstream server while trying to fulfill the request. 
  • 503 Service Unavailable: The server is currently unable to handle the request due to temporary overloading or maintenance of the server. 
  • 504 Gateway Timeout: The server did not receive a timely response from the upstream server. 
  • 505 HTTP Version Not Supported: The server does not support the HTTP protocol version that was used in the request. 
  • 506 Variant Also Negotiates: The server has an internal configuration error with regards to content negotiation. 
  • 507 Insufficient Storage: The server is unable to store the representation needed to complete the request (WebDAV). 
  • 508 Loop Detected: The server detected an infinite loop while processing the request (WebDAV). 
  • 510 Not Extended: Further extensions to the HTTP protocol are required to fulfill the request. 
  • 511 Network Authentication Required: The client needs to authenticate to gain network access. 
Why do HTTP Status Codes and Errors Matter for Search Engine Optimization (SEO) 

HTTP status codes and errors are important for Search Engine Optimization (SEO), as they impact how search engines crawl and index your site, and how they rank it. Search engines depend on status codes to classify your site as healthy and crawling accessible.

For example, while a 200 OK will indicate the pages that were successful and ready to be indexed by a search engine; a 404 Not Found or 500 Internal Server Error will tell search engines there is a broken page, which could result in penalties or de-indexing.

If you have a lot of broken links (404 errors) or server issues (500 errors), you’ll open yourself up to a negative user experience, high bounce rates, and wasted crawl budget, which means the search engine will waste time getting to your good content.

Generic HTTP Status Codes 200, 404, and 500 are important because, as a result, how your site responds to these messages makes it easier or harder to index your website, thereby improving or worsening user experience, and ultimately enhancing the SEO performance of your website.

Summary 

In the realm of SEO, you need to do a lot more than just correcting HTTP status codes, you also have to enhance the crawlability of your page, ensure your users have the best experience possible, and make it so that search engines can understand and index your pages easily. You’ll certainly want to also keep an eye on HTTP errors on your site.

But in SEO, it is about fixing the errors, correctly directing the errors, correcting your server, and configuring clear URLs. As a result, this will hopefully lead to you having a healthier site and, eventually, increasing your rank in search engine results.