fb-pixel

What are HTTP Status Codes? Everything You Need to Know

Published in:

by:

HTTP status codes are messages from a server that tell you information about your website. They aren’t part of your website but are essentially a way for your server to communicate with you and tell you what’s happening or what’s wrong. 

These messages occur every single time a request is made from your browser to your server, but you won’t always have a message displayed. 

Being able to understand what HTTP status codes mean will help you troubleshoot any errors you’re experiencing with your site or server. Below you’ll learn the four main types of status codes, a list of the most common HTTP status codes, and how you can monitor these on your own site.

Understanding HTTP Status Codes

HTTP status codes are created by the server in response to a browser request. 

Whenever you’re using a web page, clicking a link, or typing in a URL, your browser sends a request to the server where the website is hosted. Then, the server processes that request and sends back the web page or resource you requested, along with the HTTP header.

Every single time a server completes a request, it sends along a status code. However, most of the time, you won’t see these codes. Usually, you only see them when there’s an error, and something goes wrong. Then, the server will display this status code and give you a hint at what’s going wrong. 

Essentially, it’s the server’s way of notifying you that there’s something wrong with the site or server, and this is the error that’s occurring, so you can fix it. 

HTTP Status Code Classes

There are five different types of HTTP status codes. Knowing how these differ will help you more effectively diagnose any problems with your site or server setup. Within each of these classes, there are various server codes. Every code is a different error your site or server is experiencing. 

Here are the five main classes:

  • 100 codes. These are informational codes that indicate the request from your browser is being processed.
  • 200 codes. These are success codes that mean everything is functioning as it should. No errors here. 
  • 300 codes. These are redirection codes that indicate a resource has been moved. 
  • 400 codes. These are error codes that indicate there was a problem with the browser request. 
  • 500 codes. These are server error codes that indicate the server accepted the request, but a server issue prevents it from executing or fulfilling that request. 

List of HTTP Status Codes

HTTP Status CodeError Description
100Continue
101Switching protocols
102Processing
103Early hints
200Everything is OK
201Created
202Accepted
203Non-authoritative information
204No content
205Reset content
206Partial content
300Multiple choices
301Requested resources moved permanently
302Requested resource moved, but found
303See other
304Requested resource has been modified
305Use proxy
307Temporary redirect
308Permanent redirect
400Bad request
401Unauthorized
402Payment required
403Access to resource is forbidden
404Requested resource not found
405Method not allowed
406Not acceptable response
407Proxy authentication required
408Server timeout waiting for request
409Conflict
410Requested resource is gone
411Length required
412Precondition failed
413Payload or requested entity too large
414Request-URI too long
415Unsupported media type
416Range not satisfiable
417Expectation failed
422Unprocessable entity
423Locked
425Too early
426Upgrade required
428Precondition required
429Too many requests
431Requested header fields too large
451Unavailable for legal reasons
500Internal server error
501Not implemented
502Bad gateway
503Server unable to handle request
504Gateway timeout waiting for response
505HTTP version not supported
506Variant also negotiates
507Insufficient storage reached
508Loop detected
509Bandwidth limit exceeded
510Not extended
511Network authentication required
521Web server down
525Failed SSL handshake

Informational Status Codes (100 Status Codes)

100 status codes mean that the server request is still being processed. This doesn’t mean you’re experiencing a problem, but it provides additional information to tell you what’s happening behind the scenes and aren’t final response codes. 

  • 100 continue. The server has received the browser’s request headers and is ready for the request body to be sent. This makes the request more efficient since it prevents the server from sending the body request if the headers are rejected.
  • 101 switching protocols. The server is switching to a different protocol at the browser’s request. 
  • 102 processing. The server has received and is processing the request but hasn’t received a response yet. 
  • 103 early hints. This returns a few of the response headers before the rest of the response is ready. 

Successful Status Codes (200 Status Codes)

200 HTTP status codes communicate that everything is working properly. These HTTP status codes are the ones you want, and everything is operational. 

  • 200 everything is OK. This status code means everything is great, and the server request has succeeded. The web page or other resource is behaving as it’s expected. 
  • 201 created. The request has succeeded and created a new resource. 
  • 202 accepted. The server has accepted the browser’s request but is still working on fulfilling it. This could lead to an error or a completed request. 
  • 203 non-authoritative information. This often occurs when using a proxy. Here, the proxy server processed the request but modified the response before being passed onto the browser. 
  • 204 no content. This means the request has been processed successfully, but it won’t navigate away from the current page.
  • 205 reset content. Similar to a 204 status code, this code means the server has processed the request and won’t return any content, but the browser still needs to be reset. 
  • 206 partial content. This allows your browser to resume paused downloads or split the download into multiple parts. When only part of the requested resource is sent by the server, this code occurs. 

Redirection Status Codes (300 Status Codes)

300 HTTP status codes pertain to redirections and are used to show that a web page or resource has moved to a new location. 

  • 300 multiple choices. This code indicates there is more than one possible response for a server. Your browser now needs to choose between these different resources.
  • 301 requested resources moved permanently. Here, the web page or resource has been permanently moved and replaced with a different resource. This is used for permanent URL redirections. 
  • 302 requested resource moved but found. With this code the requested resource was found, but in a different location. This is used for temporary URL redirections. 
  • 303 see other. This code indicates the browser should redirect to a URL specified in the header instead of the requested resource.
  • 304 requested resource has not been modified. This code tells the browser that the resources in the browser cache haven’t changed and can be used to load a web page. This speeds up page loading speeds by using resources stored in the browser. 
  • 305 use proxy. This is not widely used. However, the resource can only be accessed through a proxy. 
  • 307 temporary redirect. The requested resource has temporarily been moved to a different URL. 
  • 308 permanent redirect. This indicates that the requested resource has permanently been moved to a different URL. Compared to a 301 redirect, a 308 redirect forces the browser to maintain its original request method. 

Client Error Status Codes (400 Status Codes)

400 status or error codes specify there’s a fault with your browser or the request being made. 

Http Status Codes 404 Error
  • 400 bad request. This error code means the server can’t respond due to a client-side error. Usually, this occurs when your request is too big, invalid, or corrupted. 
  • 401 unauthorized. You don’t have authorized access, and the request requires valid user authentication credentials to make the request successfully. 
  • 402 payment required. This was originally created for digital cash systems to show the content isn’t available until payment is made. Today, it’s used by platforms like Shopify if you haven’t paid your hosting fees or on Stripe if your payment has failed. 
  • 403 access to resource is forbidden. A 403 error occurs when you don’t have the proper credentials or permission to access a resource. 
  • 404 requested resource not found. A 404 error is one of the most common error messages. It means the resource you’re trying to request doesn’t exist. 
  • 405 method not allowed. This means the server understood the request type, but it’s not supported by the target resource. 
  • 406 not acceptable response. The server can’t provide a response that matches the client request.
  • 407 proxy authentication required. It’s similar to a 401 error, but instead, a proxy server is being used and needs to be authenticated by your browser before continuing. 
  • 408 server timeout waiting for request. This occurs when a server times out while waiting for a response from the browser. Essentially, the server closed the connection because the client request was taking too long. 
  • 409 conflict. Here, the request can’t be completed because there’s a conflict with the current resource. You may be able to resubmit your request, and the error will be resolved. 
  • 410 requested resource is gone. This message indicates the requested resource is no longer available. It’s similar to a 404 error, but in this case, it’s permanent. 
  • 411 length required. This error response means the server refused to accept the request without a defined Content-Length header. 
  • 412 precondition failed. The browser had certain conditions in the request headers that were not met by the server. 
  • 413 payload or requested entity too large. The request entity is too large for the server to interpret and process. 
  • 414 request-URI too long. The URI that’s being requested by the client is longer than the server can interpret. 
  • 415 unsupported media type. The request includes a media type or format that isn’t supported by the server. 
  • 416 range not satisfiable. The request made was for a portion of the resource that the server can’t deliver. Browsers will typically abort the request or request the entire document. 
  • 417 expectation failed. The server cannot meet the requirements that are specified in the header field. 
  • 422 unprocessable entity. There are semantic errors that are preventing the server from processing the request. 
  • 423 locked. The resource that’s being accessed has been locked and can’t be accessed. 
  • 425 too early. The request is sent to the server, but the server won’t process the request to avoid potential replay attacks. 
  • 426 upgrade required. The server has refused the request on the current protocol, but might work with a different protocol. 
  • 428 precondition required. The server requires conditions to be met before processing the request. 
  • 429 too many requests. This occurs when a user has sent too many requests in a specified amount of time. This can occur if bots are trying to access your site. 
  • 431 requested header files too large. The HTTP headers of the request are too long. You can try resubmitting after reducing the size. 
  • 451 is unavailable for legal reasons. A user has requested a resource that isn’t available due to legal actions.

Server Error Status Codes (500 Status Codes)

500 HTTP status codes are errors that have to do with your server. Unfortunately, these can be more difficult to resolve and may require reaching out to your hosting provider for assistance.

Http Status Codes WordPress Error
  • 500 internal server error. A 500 error is a common error when the server encounters an unexpected error and can’t complete the request. Unfortunately, there are a lot of reasons this error can occur. If you’re running a WordPress website, it can be caused by plugin conflicts and PHP errors. 
  • 501 not implemented. This error means the server doesn’t have the right functionality to complete the request. If you’re experiencing this issue, you’ll want to get in touch with your hosting provider. 
  • 502 bad gateway. A 502 error occurs when a server receives an invalid response from another server it’s trying to communicate with. 
  • 503 server unable to handle request. A 503 error means the server can’t complete the request at this time, usually due to an increase in website traffic or server maintenance. 
  • 504 gateway timeout waiting for response. A 504 timeout error means that the server that’s acting as a gateway or a proxy timed out while waiting for the response from another server. 
  • 505 HTTP version not supported. The server doesn’t support the HTTP version being used by the server that’s making the request. 
  • 506 variant also negotiates. There’s an internal configuration error with the server.
  • 507 insufficient storage reached. The server you’re trying to access doesn’t have enough storage space to complete the request. 
  • 508 loop detected. The 508 error code indicates the request failed because it encountered an infinite loop while processing the request. 
  • 509 bandwidth limit exceeded. Here your website is using more bandwidth than allowed by the server. 
  • 510 not extended. This occurs when the client needs additional extensions to process the request. 
  • 511 network authentication required. The network you’re trying to access requires additional authentication before your request can be sent to the server. Usually, this occurs on networks like public wi-fi. 
  • 521 web server down. This is a Cloudflare-related error and occurs when your browser can connect to Cloudflare but Cloudflare can’t connect to the server. 
  • 525 failed SSL handshake. This is another Cloudflare-related error and occurs when the SSL handshake between the domain and server fails. 

The Impact of HTTP Status Codes

Understanding the HTTP status codes above will help you know what’s happening with your website and server. You’ll be able to troubleshoot any technical issues much faster and fix any errors stopping your site from functioning or impacting things like your SEO.

Overall, 100 and 200-level codes won’t have an impact on your site. They’re showing that everything is working the way it should.

However, 400 and 500-level codes show you major problems with your website or server setup. Having errors like these present on your site can make it more difficult for the search engines to crawl your website and negatively impact your rankings and overall user experience.

300-level codes are a bit different since they primarily deal with redirects. As your website grows, having redirects is common, but you’ll want to make sure your redirects are not triggering any error codes but instead directing visitors to the proper resources.

In general, you’ll want to use permanent redirects over temporary redirects since permanent redirects help to maintain the SEO value of the original URL.

How to Check and Monitor HTTP Status Codes 

If you’re trying to monitor errors that are showing up on your site, then you’ll want to use a tool like Google Search Console. Google Search Console regularly monitors your site for status code errors. 

Every time a page on your site loads, an HTTP status code is relayed. To see if your site has any status code errors, open up Google Search Console and click “Pages” in the left-hand menu.

Http Status Codes Google Search Console

This gives you a breakdown of the pages on your site and whether or not they’ve been indexed. There’s a chance that non-indexed pages aren’t indexed because there’s a status error. 

Scroll down to the section titled “Why pages aren’t indexed”, and it’ll show you any status errors that are present on your site.

Http Status Codes Google Search Console Errors

Clicking on any of the “Reasons” will bring up a list of all the URLs that have that error.

Closing Thoughts: Understanding HTTP Status Codes

HTTP status codes can be a bit confusing or overwhelming, and experiencing errors on your website is never fun. However, understanding some of the main status codes can help speed up the troubleshooting process. Best of all, status codes provide additional information to help you fix the issue.

We’ve showcased over 50 of the most common HTTP status codes that you might come across. Being able to understand these error messages will help you more easily resolve any issues you’re experiencing, whether you’re working through them on your own or relying on the help of an expert support team.

Now your turn. What are some of the HTTP status codes you experienced on your site? Did you fix the problem yourself? Please share in the comments below.


Try one of our hosting plans for free and without obligation for 14 days. No payment information required!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *