HTTP Status Codes Explained: 200, 301, 403, 404, 500 and More

Decode every response code your browser and APIs return — and know exactly what to do about them

How HTTP Status Codes Work

Every HTTP response begins with a three-digit status code that tells the client how the server handled the request. The first digit defines the class of response — whether it was successful, requires action, or encountered an error. Status codes are defined in RFC 9110 and are a fundamental part of the HTTP protocol.

The five classes:

Use our HTTP headers checker to see the exact status code any URL returns — useful for diagnosing redirects, authentication issues, or server errors without opening a browser.

2xx Success Codes

The 2xx range confirms the server processed the request successfully:

In API development, returning the semantically correct 2xx code matters. Returning 200 for a resource creation (instead of 201) or for a delete (instead of 204) is technically functional but confuses API clients and violates REST conventions.

🛡️

Check Any URL's HTTP Status Code

Use our free HTTP headers tool to instantly see the status code and headers for any URL.

Hide My IP Now

3xx Redirection Codes

Redirection codes tell the client to look for the resource at a different URL:

Redirect chains — where A redirects to B which redirects to C — accumulate latency and confuse crawlers. Check all redirects for any URL with our headers tool, which follows and reports the full redirect chain.

4xx Client Error Codes

When the problem is in the request itself, the server returns a 4xx code:

5xx Server Error Codes

5xx codes indicate the server failed to process a valid request — the fault lies with the server, not the client:

Monitoring 5xx rates is a key SRE (Site Reliability Engineering) practice. A spike in 502s often indicates a rolling deployment issue; a spike in 503s may indicate traffic exceeding capacity.

Special Offer

Frequently Asked Questions

What is the difference between 401 and 403?

401 means you are not authenticated — the server does not know who you are. Send credentials and try again. 403 means you are authenticated but not authorized — the server knows who you are and has decided you do not have permission to access this resource.

Why do I sometimes get 200 OK but the page is actually an error page?

Some applications return HTTP 200 with an error message in the HTML body rather than returning the appropriate 4xx or 5xx code. This is called a 'soft 404' and confuses search engine crawlers, CDN caches, and monitoring tools. Servers should always return semantically correct HTTP status codes.

What status code should I return for a deleted resource?

For a successful DELETE operation with no response body, return 204 No Content. If returning a representation of the deleted resource, return 200 OK. If the resource does not exist, return 404. If you want to permanently signal that a resource once existed but is gone forever (for SEO purposes), return 410 Gone.

How do I check what status code a URL returns?

Use our <a href="/headers">HTTP headers checker</a> to instantly see the status code, response headers, and redirect chain for any URL. You can also use <code>curl -I https://example.com</code> from the command line to fetch only the response headers.

Special Offer×