HTTP Status Codes

A complete, searchable reference for all HTTP response status codes.

2xx Success

200OK

Standard response for successful HTTP requests. The actual response will depend on the request method used (GET, POST, etc.).

201Created

The request has been fulfilled, resulting in the creation of a new resource (usually returned after a successful POST request).

202Accepted

The request has been accepted for processing, but the processing has not been completed. Used for asynchronous tasks.

204No Content

The server successfully processed the request and is not returning any content. Commonly used for successful DELETE requests.

3xx Redirection

301Moved Permanently

The URL of the requested resource has been changed permanently. The new URL is given in the response. Crucial for SEO.

302Found (Temporary Redirect)

The URI of requested resource has been changed temporarily. Search engines do not update their links to the new URI.

304Not Modified

Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since. Used for caching.

307Temporary Redirect

Similar to 302, but guarantees that the HTTP method (GET, POST) and body will not change when the client issues the redirected request.

308Permanent Redirect

Similar to 301, but guarantees that the HTTP method and body will not change. Replaces 301 for POST requests.

4xx Client Errors

400Bad Request

The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed syntax).

401Unauthorized

The request requires user authentication. The client must authenticate itself to get the requested response.

403Forbidden

The client does not have access rights to the content. Unlike 401, the client's identity is known to the server.

404Not Found

The server can not find the requested resource. The most famous HTTP error. Often used to hide the existence of a resource from an unauthorized client.

405Method Not Allowed

The request method is known by the server but is not supported by the target resource (e.g. using POST on a read-only endpoint).

409Conflict

The request could not be completed due to a conflict with the current state of the resource (e.g. trying to create a user that already exists).

422Unprocessable Entity

The server understands the content type and syntax of the request entity, but was unable to process the contained instructions (e.g. validation errors).

429Too Many Requests

The user has sent too many requests in a given amount of time ("rate limiting").

5xx Server Errors

500Internal Server Error

The server has encountered a situation it doesn't know how to handle. A generic catch-all for server crashes or unhandled exceptions.

502Bad Gateway

The server, while acting as a gateway or proxy, received an invalid response from the upstream server.

503Service Unavailable

The server is not ready to handle the request. Common causes are a server that is down for maintenance or that is overloaded.

504Gateway Timeout

This error response is given when the server is acting as a gateway and cannot get a response in time from the upstream server.

Advertisement

Frequently Asked Questions

What's the difference between a 401 and a 403 status code?

401 Unauthorized means the request lacks valid authentication credentials (you're not logged in, or your token is invalid/missing). 403 Forbidden means you are authenticated but don't have permission to access that specific resource.

When should an API return a 422 instead of a 400?

400 Bad Request typically signals malformed syntax (invalid JSON, missing required fields). 422 Unprocessable Entity is used when the request is well-formed but fails semantic validation, such as a value that's syntactically valid but violates a business rule.

Why does 304 Not Modified matter for performance?

304 tells the browser its cached copy of a resource is still valid, so the server can skip re-sending the full response body — this is a key part of how HTTP caching reduces bandwidth and load time.

What's the difference between 301 and 302 redirects for SEO?

301 Moved Permanently tells search engines to transfer ranking signals to the new URL and update their index. 302 Found signals a temporary redirect, so engines generally keep indexing the original URL — using the wrong one can cause SEO issues during migrations.

⚡ Related Developer Tools

View All 30+ Tools →