HTTP Status Codes Explained: Meanings and Common Errors


Effective website management requires a clear understanding of HTTP status codes (also called response codes). These three-digit codes are returned after an HTTP request and indicate whether it was successful, redirected, or failed. Understanding HTTP status codes helps diagnose issues, fix errors faster, improve performance, and maintain a secure website.

This HTTP status code resource dives into their classifications, meanings, and impact on web operations, providing best practices for both resolving and preventing related issues. Whether you're dealing with client-side errors like 404 Not Found or server-side errors like 500 Internal Server Error, this guide offers insights for effective troubleshooting.
What are HTTP status codes?
HTTP status codes are three-digit responses returned by a web server that indicate the result of an HTTP request. Standardized by organizations like the Internet Assigned Numbers Authority (IANA), they are grouped into five categories based on their first digit.
These response codes tell the user whether a request was successful or if an issue occurred, helping with troubleshooting, performance monitoring, debugging, and understanding how API requests are handled.
These categories include:
- 1xx – Informational: The server has received the request and is continuing to process it.
- 2xx – Success: The request was successfully received, understood, and processed.
- 3xx – Redirection: Further action is needed to complete the request, often involving a redirect.
- 4xx – Client Error: The request has a client-side issue, such as bad syntax, authentication, or permissions.
- 5xx – Server Error: The server failed to process a valid request due to an internal issue.
Common HTTP status codes
While there are many HTTP status codes, most users encounter a smaller set of common ones:
- 200 OK: The request was successful
- 301 Moved Permanently: The resource has been permanently redirected
- 302 Found (Temporary Redirect): The resource is temporarily located at a different URL
- 400 Bad Request: The request could not be processed due to invalid syntax
- 401 Unauthorized: Authentication is required to access the resource
- 403 Forbidden: The request is understood but not allowed due to permissions
- 404 Not Found: The requested resource could not be found
- 429 Too Many Requests: The client has sent too many requests (rate limiting)
- 500 Internal Server Error: A general server error occurred
- 503 Service Unavailable: The server is temporarily unavailable
Below is a breakdown of HTTP status codes by category.
List of HTTP status codes
There are dozens of HTTP status codes covering a wide range of possible responses a user may receive when making a request to a web server. While not all are commonly encountered, they are grouped into five main categories based on their function.
1xx – Informational responses
1xx HTTP status codes indicate that the server has received the user's request and is working on processing it. It's a category that includes these four codes:
- 100 Continue: This code indicates that the server has received the initial part of the request and tells the user they can proceed with the rest of it. It's useful when a large request body needs verification before sending.
- 101 Switching Protocols: This indicates that the server is changing the communication protocol based on a request from the client (like switching from HTTP/1.1 to WebSockets).
- 102 Processing: This tells the user that the server has accepted the request but is still working on processing it.
- 103 Early Hints: Accompanying this status code are preliminary response headers that are sent to the user before the full response is ready. Their main function is to speed up how fast the browser preloads resources.
2xx – Success responses
2xx status codes indicate that the server has received, understood, and processed the request successfully. They usually mean that the user can proceed as planned, and they include these five codes:
- 200 OK: This response indicates that the request was successful and that the server has successfully returned the requested resource. 200 (OK) is the most common HTTP status code, and receiving it means that everything is working as expected.
- 201 Created: This indicates that the request was successful and that it resulted in a new resource being created. For example, a user might receive this response when they create a new account on your website.
- 202 Accepted: This status code means that the request has been received but is being processed asynchronously. It's common for tasks such as batch processing.
- 203 Non-Authoritative Information: This indicates that the server is returning information that comes from a third-party source or a source different from the origin server.
- 204 No Content: This means that the server has successfully processed the request, but there is no content to return. For example, a user might receive this response when an update is successful, but no page refresh is needed.
- 206 Partial Content: This response is returned when the server delivers only part of a requested resource. It is commonly used for large file downloads or streaming, allowing content to load in segments.
3xx – Redirection responses
3xx HTTP status codes indicate that the user will need to complete further actions before the request can be processed—and these further actions typically involve a different URL. Here are the four status codes that fall under this category:
- 300 Multiple Choices: This status code means that there are multiple options for the requested resource—like different file formats or different language options—and the user is required to select one.
- 301 Moved Permanently: This means that the requested resource has been permanently moved to a new URL. 301 redirects are commonly used for SEO purposes, ensuring that old links transfer their ranking power to the new location.
- 302 Found: 302 redirects are used to temporarily redirect users to a new URL. They are useful when a page has been moved temporarily but will eventually be returned to its original location.
- 303 See Other: This status code directs the user to access the requested resource at a different URL. 303 redirects are most commonly used following a form submission to prevent duplicate submissions when the page is reloaded.
4xx – Client errors
4xx status codes are returned when there is an issue with the client request, such as bad syntax, a mistyped URL, missing authentication, or insufficient permissions. Here are different types of client errors that can occur:
- 400 Bad Request: This status code indicates that the request made by the user is invalid and cannot be processed. 400 errors are most commonly caused by things like incorrect API requests or bad URL structures.
- 401 Unauthorized: This status code is displayed when a user requests a resource that requires authorization to access. The user must provide valid credentials before the server will return the requested resource.
- 402 Payment Required: This code was originally intended for digital payment systems to indicate that payment is required to access a specific resource. However, it is rarely used today.
- 403 Forbidden: This means that the server understands the user's request but refuses to process it. 403 errors most commonly occur when a user tries to access restricted content without the necessary permissions.
- 404 Not Found: This status code means that the server could not find the resource that the user requested. 404 errors can occur when the user types in a URL incorrectly or when the page has been deleted/moved without proper redirection.
- 405 Method Not Allowed: The request method is not supported for the requested resource.
- 408 Request Timeout: The server timed out waiting for the client to complete the request. This can happen when a request takes too long to send or the connection is interrupted.
- 412 Precondition Failed: The request did not meet one or more conditions set by the server, often related to headers used for validation or caching.
- 414 URI Too Long: The request URI is longer than the server is willing or able to process. It often happens when too much data is included in the URL, such as long query strings.
- 415 Unsupported Media Type: The server refuses to process the request because the request body format is not supported, such as an incorrect Content-Type.
- 416 Range Not Satisfiable: The client requested a specific portion of a resource, but the server cannot fulfill that range request.
- 428 Precondition Required: The server requires the request to include specific conditions before it can be processed. It is often used to prevent conflicts, such as overwriting changes when multiple users are updating the same resource.
- 429 Too Many Requests: The client has sent too many requests in a given amount of time. 429 errors are commonly used for rate limiting to prevent abuse, excessive traffic, or repeated API requests.
5xx – Server errors
5xx status codes indicate that the server encountered an issue while processing a valid request. These errors are caused by problems on the server or upstream systems, not the client. Here are the most common server errors:
- 500 Internal Server Error: This is a generic error message that's returned when the server encounters an unexpected issue. Coding errors, server misconfigurations, and resource limits are a few issues that can commonly cause 500 errors.
- 501 Not Implemented: This status code means that the server does not support the functionality required to complete the user's request. 501 errors often indicate that a method like PUT or DELETE isn't supported by the server.
- 502 Bad Gateway: When the server is acting as a gateway or proxy and receives an invalid response from an upstream server, this is the error message that's returned. 502 errors commonly occur when an upstream server is down or overloaded. They can also be caused by DNS issues or misconfigured upstream servers.
- 503 Service Unavailable: 503 errors indicate that the server is temporarily unable to handle the request due to overload or maintenance. In most cases, the issue will be resolved automatically once the server recovers.
- 504 Gateway Timeout: This is another error that occurs when the server is acting as a gateway or proxy, and it means that it took too long for the gateway/proxy server to receive a response from an upstream server. Issues with the server chain or network delays are often the cause of 504 errors.
- 511 Network Authentication Required: The client must authenticate to gain network access. This is often seen on public or restricted networks that require a login before accessing the internet.
How do HTTP responses impact your website?
HTTP status codes play a key role in helping website owners understand and resolve the issues that are impacting their sites. In some cases, they indicate that everything is functioning as it should and no action is required. In other cases, they point to underlying issues that must be resolved to prevent negative impacts on SEO and user experience.
Here are a few ways that different HTTP status codes will impact your website:
200 OK: The foundation of a functional website
200 OK is the status code you want your users to receive in most situations, as it indicates that the server has successfully processed their request and delivered the desired content. Consistent 200 OK responses across your site ensure that all of your important pages are accessible, which is key for providing a positive experience to users and maintaining a positive perception with search engines.
301 Moved Permanently: Redirecting old URLs to new
The 301 status code, also known as a permanent redirect, is utilized to permanently redirect traffic from an old URL to a new one. This type of redirection is particularly important for SEO, as it transfers link equity from the original URL to the new destination, helping to preserve search engine rankings during site migrations or content restructuring. Implementing 301 redirects is essential to prevent the loss of search visibility when URLs change, and it also improves user experience by ensuring that visitors do not encounter outdated or nonexistent pages.
404 Not Found: Errors to clean up where possible
The 404 Not Found status code indicates that the server cannot locate the requested resource, usually because the page has been removed or the URL is incorrect. An excessive number of 404 errors can adversely affect your website's SEO performance. Search engines may interpret frequent 404 errors as a sign of poor site maintenance or outdated content. Additionally, these errors degrade the user experience by frustrating visitors who encounter dead ends.
429 Too Many Requests: When traffic or requests exceed server limits
The 429 Too Many Requests status code indicates that a client has sent too many requests in a short period of time, typically due to rate limiting. This can happen from excessive traffic, bots, or repeated API requests, and may impact legitimate users if limits are too strict. Monitoring request volume and adjusting rate limits can help maintain performance while preventing abuse.
5XX server errors: A barrier to search engine crawling
5XX server errors—like 500 Internal Server Error or 503 Service Unavailable—indicate problems on the server side, and these problems will often prevent both users and search engine bots from accessing the page. These errors can often slow down (or completely stop) search engines from crawling your site, which can result in a negative impact on your SEO. In fact, frequent or prolonged 5XX errors can sometimes cause sites to be deindexed by search engines. Server errors should be resolved as quickly as possible, not only to boost SEO but also to maintain a good user experience.
How do you check HTTP status codes?
There are several ways to check HTTP status codes, including using browser developer tools, Google Search Console, and crawling tools:
Browser developer tools
Today, most browsers come equipped with built-in developer tools you can use to inspect HTTP status codes for individual web pages. Here's how to use Chrome's "Inspect" tool:
- Open the website page you want to check in Chrome.
- Right-click on the page and select "Inspect" to open Developer Tools. You can also open developer tools by pressing F12.
- Click on the "Network" tab.
- Refresh the page (F5 or Ctrl+R) to reload the network requests.
- The Network tab will display all requests made by the page, including their status codes. Look under the "Status" column to find the HTTP status codes for each request. You can also view request details like headers and the user agent to understand how browsers or bots are interacting with your site.
Google Search Console
Google Search Console is a free tool that provides insights into how Google's crawlers interact with your website. Here's how you can use it to identify pages with errors:
- Log in to your Google Search Console account.
- Select the website you want to check from the dashboard.
- Go to "Index" > "Pages" to see an overview of indexed and error pages.
- Google Search Console will highlight issues like 404 Not Found, 500 Internal Server Error, and other status codes that affect your site's indexing.
- Click on the listed errors to see details and affected URLs.
Crawling tools
Screaming Frog is a popular SEO spider tool designed to crawl your websites and report data on all pages crawled, including HTTP status codes. Here's how to use it:
- Open the tool and enter your website URL in the search bar.
- Click "Start" to begin the crawl.
- Once the crawl is complete, go to the "Response Codes" tab to see the status codes for URLs that were crawled.
- You can filter the results by "Client Error (4xx)", "Server Error (5xx)", or "Redirection (3xx)" if you want to focus on specific types of issues.
Common errors & how to fix them
HTTP status codes don’t always indicate errors, but when they do, they help quickly identify and resolve issues. Here are troubleshooting guides for the three most common types of error codes:
500 Internal Server errors troubleshooting guide:
- Check server logs to identify specific issues, and look for recent entries that might pinpoint what triggered the error.
- For websites running on WordPress or a similar CMS, try increasing your PHP memory limit through your hosting control panel or php.ini file.
- Check for a corrupted .htaccess file by temporarily renaming the file and refreshing the page to see if the error is resolved.
- Disable plugins and themes to see if the error is caused by an issue with one of these.
- If none of these steps fix the error, contact your hosting provider for further assistance.
503 Service Unavailable errors troubleshooting guide:
- Check the server status to see if it's undergoing maintenance or experiencing heavy traffic, as this is often the cause of 503 errors.
- If you are able to access the server, you can try restarting it to clear temporary overloads or stuck processes.
- Malfunctioning plugins and modules can sometimes cause 503 errors. Try disabling them to see if it fixes the issue.
- A sudden spike in traffic could be due to a DDoS attack. Use a website security tool to check for unusual traffic patterns.
- If your website frequently encounters 503 errors during periods of high traffic, you may want to consider upgrading your hosting plan so that you have more server resources available.
- Retry the request after a short delay, as many 503 errors resolve once the server recovers.
404 Not Found errors troubleshooting guide:
- Make sure the URL is correct and doesn't include any typos or errors.
- If a page has been moved or deleted, set up a 301 redirect to guide users to a relevant page.
- Check for broken links using tools like Google Search Console or Screaming Frog.
- If the page was deleted accidentally, try restoring it from a backup or recreating the content.
- Create a custom 404 page to help users navigate back to your main content when they come across a broken link.
Improve your website performance and security with SiteLock
Effectively understanding and managing HTTP status codes is essential for maintaining your website's health and security. This becomes much easier with the right tools in place.
SiteLock's comprehensive website security solutions continuously monitor your site, surface issues through a clear Site Health view, and prioritize what to fix first with actionable tasks. This helps you resolve security issues quickly before they impact performance or user experience.