HTTP status codes are like short notes from a server that get tacked onto a web folio. They're non really function of the site's content. Instead, they're messages from the server letting you know how things went when it received the asking to view a certain folio.

These kinds of letters are returned every time your browser interacts with a server, fifty-fifty if you don't see them. If you're a website owner or developer, understanding HT TP condition codes is critical. When they do bear witness up, HTTP status codes are an invaluable tool for diagnosing and fixing website configuration errors.

This article introduces several server status and error codes, and explains what they reveal about what's happening on the server behind the scenes.

Let's dive in!

Prefer to watch the video version?

What Are HTTP Status Codes?

Every fourth dimension y'all click on a link or blazon in a URL and printing Enter, your browser sends a request to the webserver for the site yous're trying to access. The server receives and processes the asking, and so sends back the relevant resource along with an HTTP header.

HTTP status codes are delivered to your browser in the HTTP header. While condition codes are returned every single fourth dimension your browser requests a spider web folio or resources, near of the fourth dimension you don't meet them.

It'southward ordinarily simply when something goes wrong that you might meet one displayed in your browser. This is the server'south style of saying: "Something isn't correct. Here'due south a code that explains what went incorrect."

google 404 http status codes
Google 404 HTTP condition code

If y'all want to see the status codes that your browser doesn't usually show you lot, at that place are many different tools that make it piece of cake. Browser extensions are available for developer-friendly platforms such as Chrome and Firefox, and there are many spider web-based header fetching tools similar Spider web Sniffer.

To see HTTP condition codes with one of these tools, await for the line appearing well-nigh the top of the written report that says "Status: HTTP/1.ane". This will be followed by the condition code that was returned past the server.

Understanding HTTP Status Code Classes

HTTP status codes are divided into 5 "classes". These are groupings of responses that have similar or related meanings. Knowing what they are can help you quickly decide the general substance of a status code before you go about looking up its specific meaning.

The five classes include:

  • 100s: Informational codes indicating that the asking initiated by the browser is standing.
  • 200s: Success codes returned when browser request was received, understood, and processed by the server.
  • 300s: Redirection codes returned when a new resource has been substituted for the requested resources.
  • 400s: Client error codes indicating that in that location was a problem with the request.
  • 500s: Server error codes indicating that the asking was accepted, but that an fault on the server prevented the fulfillment of the request.

Within each of these classes, a variety of server codes be and may be returned by the server. Each individual code has a specific and unique meaning, which we'll cover in the more comprehensive list below.

Why HTTP Status Codes and Errors Matter for Search Engine Optimization (SEO)

Search engine bots come across HTTP status codes while they're crawling your site. In some cases, these messages can influence if and how your pages get indexed, besides as how search engines perceive the health of your site.

Subscribe Now

Generally speaking, 100- and 200-level HTTP status codes won't take much impact on your SEO. They point that everything is working equally information technology should on your site, and enable search engine bots to continue on their way. However, they aren't going to boost your rankings either.

For the about part, it's the higher-level codes that matter for SEO. 400- and 500-level responses can forbid bots from crawling and indexing your pages. Too many of these errors can also indicate that your site isn't of loftier quality, peradventure lowering your rankings.

300-level codes accept a bit more than complicated relationship with SEO. The master thing you need to know to empathise their impact is the difference between permanent and temporary redirects, which nosotros'll cover in more item in the relevant department beneath.

In a nutshell, all the same, permanent redirects share link equity from backlinks, but temporary ones do not. In other words, when you utilize temporary redirects for pages that take moved, you lot lose the SEO advantage of all the link building you've done.

Checking for HTTP Status Codes in Google Search Console

1 way to monitor how Google perceives the HTTP status codes on your site is to utilise Google Search Console. You tin can view 300-, 400-, and 500-level status codes in the Coverage report:

search console coverage
Google Search Console's Coverage study

This area of your dashboard shows four types of content on your site:

  • Pages that return errors.
  • Valid pages that have warnings.
  • Resources that are valid.
  • Content excluded from the index.

You may observe pages with 300-, 400-, and 500-level HTTP status codes under the Excluded, Fault, or Valid with warnings sections, depending on the type of code. For instance, 301 redirects may be listed under Excluded as Page with redirect:

search console redirect
A folio with a redirect in Google Search Panel's Coverage report.

400- and 500-level condition codes will likely plough up under Fault.

Another way to view HTTP condition codes is by using the URL Inspection tool. If Google is unable to index a specific folio due to an mistake, you'll encounter that here:

search console 404
A 404 error in Google Search Console's URL Inspection tool

For more than tips on using Google Search Panel, check out our comprehensive guide to the platform.

A Complete Guide and Listing of HTTP Condition Codes

While there are over 40 different server condition codes, you'll probable encounter fewer than a dozen on a regular footing. Below, nosotros've covered the more common ones, likewise equally a few of the more than obscure codes you may still come across.

100 Status Codes

A 100-level condition code tells you that the request you've made to the server is however in progress for some reason. This isn't necessarily a problem, it's just extra information to allow you know what'south going on.

  • 100: "Continue." This means that the server in question has received your browser's request headers, and is at present ready for the asking body to be sent as well. This makes the asking process more than efficient since it prevents the browser from sending a body request even though the headers have been rejected.
  • 101: "Switching protocols." Your browser has asked the server to change protocols, and the server has complied.
  • 103: "Early on hints." This returns some response headers before the rest of the server's response is fix.

200 Condition Codes

This is the best kind of HTTP status code to receive. A 200-level response ways that everything is working exactly every bit it should.

  • 200: "Everything is OK." This is the code that is delivered when a web page or resources acts exactly the way information technology's expected to.
  • 201: "Created." The server has fulfilled the browser'southward asking, and as a result, has created a new resource.
  • 202: "Accepted." The server has accepted your browser'south request just is still processing it. The asking ultimately may or may not consequence in a completed response.
  • 203: "Not-Authoritative Information." This status code may appear when a proxy is in use. It means that the proxy server received a 200 "Everything is OK" condition code from the origin server, only has modified the response before passing it on to your browser.
  • 204: "No Content."This lawmaking means that the server has successfully candy the request, but is non going to return whatsoever content.
  • 205: "Reset Content." Like a 204 code, this means that how server has candy the request just is non going to return any content. However, information technology also requires that your browser resets the certificate view.
  • 206: "Partial Content." You lot may encounter this condition code if your HTTP client (also known as your browser) uses 'range headers'. This enables your browser to resume paused downloads, every bit well as to carve up a download into multiple streams. A 206 lawmaking is sent when a range header causes the server to transport but part of the requested resources.

300 Condition Codes

Redirection is the process used to communicate that a resources has been moved to a new location. At that place are several HTTP status codes that back-trail redirections, in order to provide visitors with information nearly where to find the content they're looking for.

  • 300: "Multiple Choices." Sometimes, there may be multiple possible resources the server tin can reply with to fulfill your browser's request. A 300 status code means that your browser now needs to choose between them. This may occur when there are multiple file type extensions available, or if the server is experiencing discussion sense disambiguation.
  • 301: "The requested resources has been moved permanently." This code is delivered when a spider web folio or resource has been permanently replaced with a different resource. Information technology is used for permanent URL redirection.
  • 302: "The requested resource has moved, simply was plant." This code is used to bespeak that the requested resources was found, just non at the location where it was expected. Information technology is used for temporary URL redirection.
  • 303: "Run into Other." Understanding a 303 status code requires that you know the difference between the four primary HTTP asking methods. Essentially, a 303 lawmaking tells your browser that it found the resources your browser requested via POST, PUT, or DELETE. However, to recall it using GET, you need to make the advisable request to a dissimilar URL than the one you lot previously used.
  • 304: "The requested resource has not been modified since the last time you accessed it." This lawmaking tells the browser that the resources stored in the browser cache haven't changed. It'south used to speed up spider web page commitment by reusing previously-downloaded resources.
  • 307: "Temporary Redirect." This condition code has replaced 302 "Plant" as the advisable action when a resource has been temporarily moved to a dissimilar URL. Unlike the 302 condition lawmaking, it does not allow the HTTP method to modify.
  • 308: "Permanent Redirect." The 308 status lawmaking is the successor to the 301 "Moved Permanently" code. Information technology does non allow the HTTP method to change and indicates that the requested resource is now permanently located at a new URL.

400 Status Codes

At the 400 level, HTTP condition codes start to get problematic. These are error codes specifying that at that place's a fault with your browser and/or request.

  • 400: "Bad Request." The server can't return a response due to an error on the client's stop. See our guide for resolving this mistake.
  • 401: "Unauthorized" or "Dominance Required." This is returned by the server when the target resource lacks valid authentication credentials. Yous might encounter this if you lot've set up up basic HTTP authentication using htpasswd.
Nginx 401 authorization required error in Chrome
Nginx 401 authorization required fault in Chrome
  • 402: "Payment Required." Originally, this code was created for use as part of a digital cash system. However, that plan never followed through. Instead, it'south used past a variety of platforms to point that a asking cannot be fulfilled, usually due to a lack of required funds. Common instances include:
    • Yous've reached your daily asking limit to the Google Developers API.
    • Y'all haven't paid your Shopify fees and your shop has been temporarily deactivated.
    • Your payment via Stripe has failed, or Stripe is trying to prevent a fraudulent payment.
  • 403: "Admission to that resources is forbidden." This lawmaking is returned when a user attempts to access something that they don't have permission to view. For example, trying to reach password-protected content without logging in might produce a 403 error.
  • 404: "The requested resources was not found." This is the almost mutual fault message of them all. This code ways that the requested resource does non be, and the server does non know if it ever existed.
  • 405: "Method not allowed." This is generated when the hosting server (origin server) supports the method received, but the target resource doesn't.
  • 406: "Not acceptable response." The requested resource is capable of generating only content that is not acceptable co-ordinate to the take headers sent in the request.
  • 407: "Proxy Authentication Required." A proxy server is in apply and requires your browser to authenticate itself earlier standing.
  • 408: "The server timed out waiting for the rest of the request from the browser." This code is generated when a server times out while waiting for the complete asking from the browser. In other words, the server didn't go the full asking that was sent by the browser. One possible cause could be net congestion resulting in the loss of data packets between the browser and the server.
  • 409: "Disharmonize." A 409 status code means that the server couldn't process your browser'due south asking because there's a conflict with the relevant resource. This sometimes occurs due to multiple simultaneous edits.
  • 410: "The requested resource is gone and won't be coming back." This is similar to a 404 "Not Found" code, except a 410 indicates that the status is expected and permanent.
  • 411: "Length Required." This ways that the requested resource requires that the client specify a certain length and that it did not.
  • 412: "Precondition Failed." Your browser included certain conditions in its request headers, and the server did not meet those specifications.
  • 413: "Payload Too Big" or "Asking Entity Too Large." Your asking is larger than the server is willing or able to process.
  • 414: "URI Too Long." This is usually the result of a GET request that has been encoded every bit a query string that is besides large for the server to process.
  • 415: "Unsupported Media Type." The request includes a media type that the server or resource doesn't back up.
  • 416: "Range Not Satisfiable." Your request was for a portion of a resources that the server is unable to return.
  • 417: "Expectation Failed." The server is unable to meet the requirements specified in the request'southward await header field.
  • 418: "I'grand a teapot." This code is returned past teapots that receive requests to mash coffee. It'due south also an Apr Fool's Joke from 1998.
im a teapot http status code
418 "I'm a teapot" condition code
  • 422: "Unprocessable Entity." The client asking contains semantic errors, and the server can't process it.
  • 425: "As well Early." This lawmaking is sent when the server is unwilling to process a request because it may be replayed.
  • 426: "Upgrade Required." Due to the contents of the request'south upgrade header field, the client should switch to a dissimilar protocol.
  • 428: "Precondition Required." The server requires atmospheric condition to exist specified before processing the request.
  • 429: "Too many requests." This is generated past the server when the user has sent also many requests in a given amount of fourth dimension (rate-limiting). This tin can sometimes occur due to bots or scripts attempting to access your site. In this case, you might want to endeavor irresolute your WordPress login URL. You tin can also check out our guide to fixing a 429 "Too Many Requests" fault.
429 too many requests
429 too many requests
  • 431: "Request Header Fields Besides Big." The server can't process the request because the header fields are too large. This may indicate a problem with a unmarried header field, or all of them collectively.
  • 451: "Unavailable for Legal Reasons." The operator of the server has received a demand to prohibit access to the resources yous've requested (or a set of resources including the 1 y'all've requested). Fun fact: This code is a reference to Ray Bradbury'southward novel Fahrenheit 451 .
  • 499: "Client closed request." This is returned by NGINX when the client closes the asking while Nginx is nevertheless processing it.

500 Status Codes

500-level status codes are likewise considered errors. Notwithstanding, they denote that the problem is on the server's end. This can brand them more than difficult to resolve.

  • 500: "There was an error on the server and the request could not be completed." This is generic code that simply means "internal server error". Something went wrong on the server and the requested resources was not delivered. This code is typically generated past third-party plugins, faulty PHP, or even the connectedness to the database breaking. Check out our tutorials on how to set the mistake establishing a database connection and other means to resolve a 500 internal server mistake.
error establishing a database connection
Mistake establishing a database connection
  • 501: "Not Implemented." This error indicates that the server does not support the functionality required to fulfill the asking. This is near always a problem on the web server itself, and usually must be resolved by the host. Bank check out our recommendations on how to resolve a 501 not implemented error.
  • 502: "Bad Gateway." This fault code typically means that 1 server has received an invalid response from another, such every bit when a proxy server is in use. Other times a query or request will accept too long, then information technology is canceled or killed past the server and the connection to the database breaks. For more details, see our in-depth tutorial on how to fix the 502 Bad Gateway error.
  • 503: "The server is unavailable to handle this asking right now." The request cannot exist completed at this point in fourth dimension. This code may be returned by an overloaded server that is unable to handle additional requests. We have a full guide on how to fix the 503 Service Unavailable Error.
  • 504: "The server, acting equally a gateway, timed out waiting for some other server to reply." This is the code returned when in that location are two servers involved in processing a request, and the first server times out waiting for the 2nd server to respond. You tin can read more about how to fix 504 errors in our dedicated guide.
  • 505: "HTTP Version Non Supported." The server doesn't support the HTTP version the client used to brand the asking.
  • 508: "Resource Limit Is Reached" limits on resources set past your web host take been reached. Check out our tutorial on how to resolve "508 Resource Limit Is Reached" error.
  • 509: "Bandwidth Limit Exceeded" means your website is using more than bandwidth than your hosting provider allows.
  • 511: "Network Authentication Required." This condition code is sent when the network you lot're trying to employ requires some form of authentication before sending your request to the server. For instance, you may need to hold to the Terms and Weather condition of a public Wi-Fi hotspot.
  • 521: "Web server is downwardly." Mistake 521 is a Cloudflare-specific error bulletin. It means that your web browser was able to successfully connect to Cloudflare, only Cloudflare was not able to connect to the origin web server.
  • 525: "SSL Handshake Failed". Error 525 means that the SSL handshake between a domain using Cloudflare and the origin web server failed. If you are experiencing issues there are 5 methods yous tin effort to hands gear up error 525.

Where to Acquire More About HTTP Status Codes

In add-on to the HTTP status codes we've covered in this list, there are some more obscure ones yous may want to learn well-nigh. There are several resources you can consult to read upwards on these rarer codes, including:

  • This comprehensive listing of HTTP status codes from Wikipedia.
  • Condition code definitions from the Internet Engineering Task Force (IETF).
  • RFC 7231.

Knowing these status codes may help you resolve some unique issues while maintaining your own website, or fifty-fifty when you lot encounter them on other sites.

They might seem intimidating at outset, but HTTP condition codes are of import to sympathize what'south happening on your site. Here's a thorough list of those yous should go familiar with! 📟🌐 Click to Tweet

Summary

While they may seem confusing or intimidating on the surface, HTTP condition codes are actually very informative. By learning some of the mutual ones, yous can troubleshoot problems on your site more quickly.

In this mail, nosotros've defined 40+ HTTP status codes that you may come across. From the milder 100- and 200-level codes to the trickier 400- and 500-level errors, making sense of these messages is crucial for maintaining your website and making sure it's accessible to users.


Salve time, costs and maximize site operation with:

  • Instant help from WordPress hosting experts, 24/seven.
  • Cloudflare Enterprise integration.
  • Global audience attain with 34 data centers worldwide.
  • Optimization with our congenital-in Application Functioning Monitoring.

All of that and much more, in i plan with no long-term contracts, assisted migrations, and a 30-day-coin-back-guarantee. Check out our plans or talk to sales to find the program that's right for you.