HTTP status codes are like short notes from a server that go tacked onto a web page. They're not actually part of the site's content. Instead, they're messages from the server letting y'all know how things went when it received the request to view a certain page.

These kinds of messages are returned every time your browser interacts with a server, even if you don't see them. If y'all're a website owner or developer, understanding HT TP status codes is critical. When they do show 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 almost what'southward happening on the server behind the scenes.

Permit's dive in!

Prefer to scout the video version?

What Are HTTP Status Codes?

Every time y'all click on a link or type in a URL and press Enter, your browser sends a request to the webserver for the site y'all're trying to access. The server receives and processes the request, then 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 unmarried time your browser requests a spider web page or resource, most of the time you don't run across them.

Information technology's normally only when something goes incorrect that you might encounter 1 displayed in your browser. This is the server's way of saying: "Something isn't correct. Here's a code that explains what went incorrect."

google 404 http status codes
Google 404 HTTP status code

If you want to see the condition codes that your browser doesn't normally bear witness y'all, at that place are many dissimilar tools that make it easy. Browser extensions are available for developer-friendly platforms such as Chrome and Firefox, and in that location are many web-based header fetching tools like Web Sniffer.

To run into HTTP status codes with one of these tools, look for the line actualization near the top of the study that says "Condition: HTTP/one.1". This will exist followed by the status code that was returned past the server.

Understanding HTTP Status Code Classes

HTTP status codes are divided into v "classes". These are groupings of responses that have similar or related meanings. Knowing what they are can assistance you quickly make up one's mind the general substance of a status code before you become well-nigh looking up its specific pregnant.

The five classes include:

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

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

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

Search engine bots see HTTP condition codes while they're crawling your site. In some cases, these messages tin influence if and how your pages get indexed, as well as how search engines perceive the wellness of your site.

Generally speaking, 100- and 200-level HTTP status codes won't have much impact on your SEO. They signal that everything is working equally it should on your site, and enable search engine bots to continue on their fashion. However, they aren't going to heave your rankings either.

Subscribe At present

For the most function, it's the higher-level codes that matter for SEO. 400- and 500-level responses can prevent bots from crawling and indexing your pages. Too many of these errors can also signal that your site isn't of high quality, maybe lowering your rankings.

300-level codes take a bit more complicated relationship with SEO. The chief affair you lot need to know to understand their bear on is the difference between permanent and temporary redirects, which we'll encompass in more than detail in the relevant section below.

In a nutshell, however, permanent redirects share link disinterestedness from backlinks, but temporary ones practice not. In other words, when you apply temporary redirects for pages that take moved, you lose the SEO advantage of all the link building y'all've done.

Checking for HTTP Status Codes in Google Search Console

One mode to monitor how Google perceives the HTTP status codes on your site is to use 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 report

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

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

You may find pages with 300-, 400-, and 500-level HTTP condition codes nether the Excluded, Error, or Valid with warnings sections, depending on the type of code. For instance, 301 redirects may be listed under Excluded every bit Page with redirect:

search console redirect
A folio with a redirect in Google Search Console's Coverage study.

400- and 500-level status codes will likely plough up under Mistake.

Some other manner to view HTTP condition codes is by using the URL Inspection tool. If Google is unable to index a specific page due to an error, you'll see that hither:

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

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

A Complete Guide and Listing of HTTP Status Codes

While there are over 40 different server status codes, you'll probable meet fewer than a dozen on a regular basis. Below, we've covered the more common ones, as well as a few of the more obscure codes you lot may nevertheless encounter.

100 Condition Codes

A 100-level status lawmaking tells you that the asking you've made to the server is still in progress for some reason. This isn't necessarily a problem, it'south merely extra information to allow you know what'southward going on.

  • 100: "Keep." This means that the server in question has received your browser's asking headers, and is now ready for the request body to exist sent as well. This makes the request process more efficient since it prevents the browser from sending a torso request fifty-fifty though the headers have been rejected.
  • 101: "Switching protocols." Your browser has asked the server to alter protocols, and the server has complied.
  • 103: "Early hints." This returns some response headers before the rest of the server'due south response is set up.

200 Status Codes

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

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

300 Status Codes

Redirection is the procedure used to communicate that a resource has been moved to a new location. In that location are several HTTP status codes that accompany redirections, in gild to provide visitors with information about where to discover the content they're looking for.

  • 300: "Multiple Choices." Sometimes, there may be multiple possible resource the server can respond with to fulfill your browser's request. A 300 status code means that your browser at present needs to choose betwixt them. This may occur when at that place are multiple file type extensions available, or if the server is experiencing word sense disambiguation.
  • 301: "The requested resource has been moved permanently." This lawmaking is delivered when a spider web folio or resource has been permanently replaced with a different resource. It is used for permanent URL redirection.
  • 302: "The requested resource has moved, but was found." This code is used to indicate that the requested resource was institute, just non at the location where it was expected. It is used for temporary URL redirection.
  • 303: "See Other." Understanding a 303 status lawmaking requires that you know the deviation between the 4 primary HTTP request methods. Essentially, a 303 lawmaking tells your browser that it plant the resource your browser requested via POST, PUT, or DELETE. However, to recall it using Go, you need to make the appropriate request to a dissimilar URL than the one yous previously used.
  • 304: "The requested resource has non been modified since the final time you lot accessed it." This code tells the browser that the resource stored in the browser enshroud haven't inverse. It's used to speed upwards web folio commitment past reusing previously-downloaded resources.
  • 307: "Temporary Redirect." This status code has replaced 302 "Institute" as the appropriate action when a resource has been temporarily moved to a different URL. Unlike the 302 status lawmaking, it does not allow the HTTP method to change.
  • 308: "Permanent Redirect." The 308 status lawmaking is the successor to the 301 "Moved Permanently" code. It does not allow the HTTP method to alter and indicates that the requested resource is at present permanently located at a new URL.

400 Condition Codes

At the 400 level, HTTP status codes start to become problematic. These are error codes specifying that there'south a fault with your browser and/or asking.

  • 400: "Bad Request." The server can't return a response due to an fault on the client'due south end. Run across our guide for resolving this fault.
  • 401: "Unauthorized" or "Say-so Required." This is returned past the server when the target resource lacks valid authentication credentials. Y'all might see this if yous've prepare up bones HTTP authentication using htpasswd.
Nginx 401 authorization required error in Chrome
Nginx 401 say-so required fault in Chrome
  • 402: "Payment Required." Originally, this lawmaking was created for use as part of a digital cash system. However, that program never followed through. Instead, it'due south used past a diverseness of platforms to indicate that a request cannot be fulfilled, usually due to a lack of required funds. Mutual instances include:
    • You'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: "Access to that resources is forbidden." This code is returned when a user attempts to admission something that they don't have permission to view. For example, trying to reach countersign-protected content without logging in might produce a 403 fault.
  • 404: "The requested resource was non found." This is the near mutual fault bulletin of them all. This code means that the requested resource does not be, and the server does not know if it ever existed.
  • 405: "Method non immune." 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 non acceptable according to the accept headers sent in the request.
  • 407: "Proxy Authentication Required." A proxy server is in utilize and requires your browser to authenticate itself before continuing.
  • 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 get the total request that was sent by the browser. One possible cause could be net congestion resulting in the loss of information packets between the browser and the server.
  • 409: "Disharmonize." A 409 condition lawmaking means that the server couldn't process your browser's request considering there's a conflict with the relevant resource. This sometimes occurs due to multiple simultaneous edits.
  • 410: "The requested resources is gone and won't be coming back." This is similar to a 404 "Not Found" code, except a 410 indicates that the condition is expected and permanent.
  • 411: "Length Required." This ways that the requested resource requires that the customer specify a certain length and that it did non.
  • 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 As well Large." Your request is larger than the server is willing or able to process.
  • 414: "URI Likewise Long." This is usually the consequence of a GET request that has been encoded every bit a query string that is also big 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 Non Satisfiable." Your request was for a portion of a resources that the server is unable to render.
  • 417: "Expectation Failed." The server is unable to meet the requirements specified in the request'south expect header field.
  • 418: "I'm a teapot." This code is returned past teapots that receive requests to brew coffee. Information technology'south also an April Fool's Joke from 1998.
im a teapot http status code
418 "I'one thousand a teapot" status code
  • 422: "Unprocessable Entity." The client request contains semantic errors, and the server can't procedure it.
  • 425: "Too Early." This code 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'due south upgrade header field, the customer should switch to a different protocol.
  • 428: "Precondition Required." The server requires conditions to exist specified before processing the request.
  • 429: "Likewise many requests." This is generated by the server when the user has sent too many requests in a given amount of fourth dimension (rate-limiting). This can sometimes occur due to bots or scripts attempting to access your site. In this case, y'all might want to try changing your WordPress login URL. You can also check out our guide to fixing a 429 "Likewise Many Requests" error.
429 too many requests
429 besides many requests
  • 431: "Request Header Fields Likewise Big." The server tin can't procedure the asking because the header fields are also large. This may indicate a problem with a single 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 resource you've requested (or a set of resources including the ane you've requested). Fun fact: This code is a reference to Ray Bradbury's novel Fahrenheit 451 .
  • 499: "Client closed request." This is returned by NGINX when the client closes the request while Nginx is nonetheless processing information technology.

500 Condition Codes

500-level status codes are also considered errors. However, they denote that the problem is on the server'south end. This can make them more difficult to resolve.

  • 500: "In that location was an error on the server and the request could not exist completed." This is generic code that but means "internal server error". Something went incorrect on the server and the requested resource was not delivered. This code is typically generated by third-party plugins, faulty PHP, or even the connection to the database breaking. Bank check out our tutorials on how to fix the mistake establishing a database connection and other means to resolve a 500 internal server error.
error establishing a database connection
Error establishing a database connection
  • 501: "Not Implemented." This error indicates that the server does non support the functionality required to fulfill the request. This is virtually e'er a problem on the spider web server itself, and usually must be resolved past the host. Check out our recommendations on how to resolve a 501 not implemented error.
  • 502: "Bad Gateway." This error code typically means that one server has received an invalid response from another, such as when a proxy server is in use. Other times a query or request will take too long, and so it is canceled or killed by the server and the connectedness 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 request correct now." The request cannot be completed at this point in time. This code may be returned by an overloaded server that is unable to handle boosted requests. We have a total guide on how to fix the 503 Service Unavailable Mistake.
  • 504: "The server, acting equally a gateway, timed out waiting for some other server to reply." This is the lawmaking returned when at that place are ii servers involved in processing a request, and the outset server times out waiting for the second server to answer. You tin can read more almost how to prepare 504 errors in our dedicated guide.
  • 505: "HTTP Version Non Supported." The server doesn't support the HTTP version the customer used to make the request.
  • 508: "Resource Limit Is Reached" limits on resource set up by your web host have been reached. Check out our tutorial on how to resolve "508 Resource Limit Is Reached" mistake.
  • 511: "Network Hallmark Required." This status lawmaking is sent when the network you're trying to use requires some form of authentication before sending your request to the server. For example, you may need to hold to the Terms and Weather condition of a public Wi-Fi hotspot.
  • 521: "Web server is down." Mistake 521 is a Cloudflare-specific error message. It means that your web browser was able to successfully connect to Cloudflare, simply Cloudflare was non able to connect to the origin web server.
  • 525: "SSL Handshake Failed". Fault 525 ways that the SSL handshake between a domain using Cloudflare and the origin web server failed. If you are experiencing issues in that location are five methods you tin try to hands fix error 525.

Where to Learn More About HTTP Status Codes

In addition to the HTTP status codes we've covered in this list, there are some more obscure ones you may want to learn about. At that place are several resource you lot can consult to read upward on these rarer codes, including:

  • This comprehensive list of HTTP status codes from Wikipedia.
  • Status code definitions from the Internet Technology Job Forcefulness (IETF).
  • RFC 7231.

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

They might seem intimidating at first, but HTTP status codes are important to understand what's happening on your site. Here'southward a thorough list of those y'all should get familiar with! 📟🌐 Click to Tweet

Summary

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

In this post, we've defined twoscore+ HTTP status codes that you lot may encounter. 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.


Salvage time, costs and maximize site functioning with:

  • Instant aid from WordPress hosting experts, 24/7.
  • Cloudflare Enterprise integration.
  • Global audience reach with 32 data centers worldwide.
  • Optimization with our built-in Application Functioning Monitoring.

All of that and much more than, in one plan with no long-term contracts, assisted migrations, and a thirty-twenty-four hour period-money-back-guarantee. Check out our plans or talk to sales to find the plan that'southward correct for you.