HTTP REFERENCE
HTTP Status Codes
Understand common HTTP responses and use them to diagnose redirects, missing pages and server behavior.
Understanding the response code is one of the quickest ways to understand what happened when a URL was requested. HTTP status codes are grouped into five families: 1xx informational responses, 2xx successful responses, 3xx redirects, 4xx client errors and 5xx server errors. The table below covers common responses you may encounter while checking redirects, pages and server behavior.
| Code | Status | Explanation |
|---|---|---|
| 200 | OK | The request succeeded and the server returned the requested resource. |
| 201 | Created | The request succeeded and created a new resource. |
| 204 | No Content | The request succeeded, but the response does not contain a message body. |
| 301 | Moved Permanently | The resource has moved permanently to a new URL, normally provided in the Location header. |
| 302 | Found | A temporary redirect response that points the client to another location. |
| 303 | See Other | The client should retrieve another resource, commonly using a separate GET request. |
| 304 | Not Modified | The requested resource has not changed since the cached version, so the client may reuse it. |
| 307 | Temporary Redirect | A temporary redirect that preserves the original request method. |
| 308 | Permanent Redirect | A permanent redirect that preserves the original request method. |
| 400 | Bad Request | The server could not process the request because it was malformed or invalid. |
| 401 | Unauthorized | The request requires authentication or valid authentication credentials. |
| 403 | Forbidden | The server understood the request but refuses to authorize access. |
| 404 | Not Found | The server could not find the requested resource at the requested URL. |
| 410 | Gone | The resource is no longer available and the server does not expect it to return. |
| 429 | Too Many Requests | The client has sent too many requests in a given period and may need to slow down. |
| 500 | Internal Server Error | The server encountered an unexpected condition while processing the request. |
| 502 | Bad Gateway | A gateway or proxy received an invalid response from an upstream server. |
| 503 | Service Unavailable | The server is temporarily unable to handle the request, often because of maintenance or overload. |
| 504 | Gateway Timeout | A gateway or proxy did not receive a timely response from an upstream server. |
How HTTP status codes help with redirect testing
HTTP responses provide a useful snapshot of what a server did with a request. A 2xx response generally indicates that the request was handled successfully, while 3xx responses are used for redirection. A 4xx response usually indicates a problem with the request or requested resource, and a 5xx response indicates that the server encountered a problem while processing the request.
For redirect troubleshooting, the status code should be considered together with the Location header. A 301 or 302 response without a usable destination may not lead the client where you expect. A redirect can also point to another URL that returns a second redirect, so checking only the first response may not reveal the complete request path. Use the Redirect Chain Checker when you need to inspect every hop.
301, 302, 307 and 308 redirects
301 and 308 indicate permanent redirects, while 302 and 307 indicate temporary redirects. The 307 and 308 status codes preserve the original request method, which can matter for requests other than a simple page navigation. For a practical redirect-specific view, compare the 301 Redirect Checker and 302 Redirect Checker with the full request path shown by the main Redirect Checker.
HTTP status codes and technical SEO
Status codes can affect how visitors, caches and search crawlers interact with a URL. A successful 200 response means the resource was returned, while a 404 or 410 can indicate that a URL is unavailable. A redirect response can move a request to another URL, so checking the status together with the destination helps identify routing problems. Status codes should always be interpreted in the context of the site's intended URL structure and server configuration.
Status codes and HTTP headers
The status line is only part of an HTTP response. Headers such as Location, Cache-Control, Content-Type and X-Robots-Tag provide additional information about what the server is doing. Use the HTTP Header CheckerCanonical URL CheckerURL Indexability CheckerSERP Preview Checker when you need to inspect these response headers in detail.
Status codes, crawling and indexing
A status code does not by itself determine whether a URL is indexed. Crawling and indexing can also be affected by robots.txt rules, HTML meta robots directives and HTTP headers. Use the Robots.txt CheckerSitemap Checker to test crawler access rules and the Meta Noindex Checker to inspect HTML and X-Robots-Tag noindex directives.
Common troubleshooting examples
If an old URL returns 404 when it should have moved, check whether the intended redirect rule is actually being returned. If a redirect unexpectedly continues through several URLs, inspect the chain for intermediate hops or loops. If a page returns 200 but still has an indexing problem, check the page's robots directives and response headers rather than relying on the status code alone.
Check an HTTP response with RedirectionChecker
Use the free Redirect Checker to inspect a URL and see the response status, status text, Location, server, content type, timing and selected headers. When redirects are present, the tool records each hop so you can see how the request moves from the starting URL to the final response. For a focused header view, use the HTTP Header CheckerCanonical URL CheckerURL Indexability CheckerSERP Preview Checker.
Frequently checked codes
Website owners often check 301 and 302 responses when reviewing URL changes, migrations and temporary routing. Developers may investigate 307 and 308 responses when preserving the original request method matters. A 404 can help identify a missing destination, a 410 can document permanent removal, and 5xx responses can indicate a server-side problem that needs investigation. The correct interpretation always depends on the context of the request and the server configuration.
Use status codes as clues, not the whole diagnosis
An HTTP status describes how a server handled a request; it does not explain every reason a page may perform poorly in search. A 200 response can still contain a noindex directive, while a 404 may be correct for content that has been intentionally removed. Combine status-code evidence with headers, robots directives and canonical signals before deciding what to change.