HTTP Status Codes Cheat Sheet
Complete reference of all standard HTTP response status codes with names and descriptions.
Searchable, categorized by class, always up to date.
1xx Informational
The request was received, continuing process. These interim responses indicate that the client should continue the request or ignore the response if already finished.
| Code | Name | Description |
|---|---|---|
100 | Continue | The server has received the request headers and the client should proceed to send the request body. |
101 | Switching Protocols | The server is switching protocols as requested by the client via the Upgrade header (e.g., switching to WebSocket). |
102 | Processing | The server has received and is processing the request, but no response is available yet (WebDAV). |
103 | Early Hints | Used to return some response headers before the final HTTP message, allowing the browser to preload resources. |
2xx Success
The request was successfully received, understood, and accepted.
| Code | Name | Description |
|---|---|---|
200 | OK | The request succeeded. The meaning depends on the HTTP method: GET returns the resource, POST returns the result of the action. |
201 | Created | The request succeeded and a new resource was created. Typically returned after POST or PUT requests. |
202 | Accepted | The request has been accepted for processing, but the processing has not been completed. Used for asynchronous operations. |
204 | No Content | The server successfully processed the request but is not returning any content. Common for DELETE requests or updates that need no response body. |
206 | Partial Content | The server is delivering only part of the resource due to a Range header sent by the client. Used for resumable downloads and video streaming. |
3xx Redirection
Further action needs to be taken by the client to complete the request. Most redirections indicate the resource is available at a different URI.
| Code | Name | Description |
|---|---|---|
301 | Moved Permanently | The resource has been permanently moved to a new URL. All future requests should use the new URI. Search engines update their links. |
302 | Found | The resource temporarily resides at a different URL. The client should continue to use the original URI for future requests. |
303 | See Other | The response to the request can be found at another URI using a GET method. Commonly used to redirect after a POST to prevent form resubmission. |
304 | Not Modified | The resource has not been modified since the last request. The client can use its cached version. No body is returned. |
307 | Temporary Redirect | The resource temporarily resides at a different URL. Unlike 302, the request method must not change (POST stays POST). |
308 | Permanent Redirect | The resource has permanently moved to a new URL. Unlike 301, the request method must not change (POST stays POST). |
4xx Client Error
The request contains bad syntax or cannot be fulfilled. The client should modify the request before retrying.
| Code | Name | Description |
|---|---|---|
400 | Bad Request | The server cannot process the request due to malformed syntax, invalid request framing, or deceptive request routing. |
401 | Unauthorized | The request requires authentication. The client must provide valid credentials (e.g., Bearer token, API key) to access the resource. |
403 | Forbidden | The server understood the request but refuses to authorize it. Unlike 401, re-authenticating will not help. The client lacks permission. |
404 | Not Found | The server cannot find the requested resource. The URL is not recognized. This may be temporary or permanent. |
405 | Method Not Allowed | The HTTP method used is not supported for the requested resource (e.g., POST on a read-only endpoint). The Allow header lists valid methods. |
408 | Request Timeout | The server timed out waiting for the request. The client did not produce a request within the time the server was prepared to wait. |
409 | Conflict | The request conflicts with the current state of the target resource (e.g., editing conflict, duplicate entry, version mismatch). |
410 | Gone | The resource is permanently gone and will not be available again. Unlike 404, this is intentional and permanent. Search engines remove the URL. |
413 | Payload Too Large | The request body exceeds the server's size limit. The server may close the connection or return a Retry-After header. |
415 | Unsupported Media Type | The server refuses the request because the payload format is not supported (e.g., sending XML when only JSON is accepted). |
418 | I'm a Teapot | An April Fools' joke from RFC 2324. The server refuses to brew coffee because it is, permanently, a teapot. Defined in the Hyper Text Coffee Pot Control Protocol. |
429 | Too Many Requests | The client has sent too many requests in a given time window (rate limiting). Check the Retry-After header for when to retry. |
451 | Unavailable For Legal Reasons | The resource is unavailable due to legal demands (e.g., government censorship, DMCA takedown). Named after Fahrenheit 451. |
5xx Server Error
The server failed to fulfill a valid request. These indicate problems on the server side, not with the client's request.
| Code | Name | Description |
|---|---|---|
500 | Internal Server Error | The server encountered an unexpected condition that prevented it from fulfilling the request. A generic catch-all error. |
501 | Not Implemented | The server does not support the functionality required to fulfill the request (e.g., an unrecognized HTTP method). |
502 | Bad Gateway | The server, acting as a gateway or proxy, received an invalid response from an upstream server it accessed to fulfill the request. |
503 | Service Unavailable | The server is temporarily unable to handle the request due to maintenance or overload. Check the Retry-After header. |
504 | Gateway Timeout | The server, acting as a gateway or proxy, did not receive a timely response from the upstream server needed to complete the request. |
Inspect HTTP responses live
Use our free HTTP Header Analyzer and other networking tools to inspect real server responses and status codes.
Frequently Asked Questions
301 Moved Permanently tells clients and search engines that the resource has permanently moved to a new URL. Link equity is passed to the new URL. A 302 Found indicates a temporary redirect — the original URL should continue to be used for future requests. For SEO, using the wrong redirect type can impact search rankings.403 Forbidden means the server understood the request but refuses to authorize it. Unlike 401 Unauthorized, which means authentication is needed, 403 means you are authenticated but lack permission. Common causes include IP-based access controls, file permission issues, or directory listing being disabled.500 Internal Server Error means the origin server itself encountered an unexpected condition. A 502 Bad Gateway means a proxy or gateway server received an invalid response from an upstream server. In practice, 500 usually points to a bug in the application code, while 502 often indicates the upstream service is down or unreachable.