Cheatsheets & Reference
HTTP Status Code Reference
Searchable list of all HTTP status codes with explanations.
1xx — Informational
4100 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 to the protocol specified in the Upgrade header (e.g. WebSocket).
102 Processing
The server has received the request and is still processing it (WebDAV).
103 Early Hints
Used to return some response headers before the final response (e.g. preloading resources).
2xx — Success
5200 OK
The request succeeded. The meaning of "success" depends on the HTTP method.
201 Created
The request succeeded and a new resource was created. Typically returned after POST or PUT.
202 Accepted
The request has been accepted for processing, but processing is not yet complete.
204 No Content
The request succeeded but there is no content to return. Common for DELETE operations.
206 Partial Content
The server is delivering only part of the resource (used with Range headers for downloads).
3xx — Redirection
6301 Moved Permanently
The resource has been permanently moved to a new URL. Search engines update their index.
302 Found (Temporary Redirect)
The resource is temporarily available at a different URL. The original URL should still be used.
303 See Other
The response can be found at another URL using a GET request (often after POST).
304 Not Modified
The cached version is still valid. No content is returned — the browser uses its cache.
307 Temporary Redirect
Like 302, but guarantees the HTTP method won't change (POST stays POST).
308 Permanent Redirect
Like 301, but guarantees the HTTP method won't change.
4xx — Client Errors
12400 Bad Request
The server cannot process the request due to malformed syntax, invalid parameters, or missing data.
401 Unauthorized
Authentication is required. The client must provide valid credentials (e.g. a Bearer token).
403 Forbidden
The server understood the request but refuses to authorize it. Authentication won't help.
404 Not Found
The requested resource does not exist on the server.
405 Method Not Allowed
The HTTP method (GET, POST, etc.) is not supported for this resource.
408 Request Timeout
The server timed out waiting for the client to send the request.
409 Conflict
The request conflicts with the current state of the resource (e.g. duplicate entry).
410 Gone
The resource has been permanently deleted and is no longer available.
413 Payload Too Large
The request body is larger than the server is willing to process.
415 Unsupported Media Type
The server doesn't support the Content-Type of the request body.
422 Unprocessable Entity
The request is well-formed but contains semantic errors (e.g. validation failures).
429 Too Many Requests
The client has sent too many requests in a given time period (rate limiting).
5xx — Server Errors
5500 Internal Server Error
An unexpected condition was encountered on the server. A generic catch-all error.
501 Not Implemented
The server does not support the functionality required to fulfill the request.
502 Bad Gateway
The server, acting as a gateway/proxy, received an invalid response from the upstream server.
503 Service Unavailable
The server is temporarily unable to handle the request (overloaded or down for maintenance).
504 Gateway Timeout
The server, acting as a gateway, did not receive a timely response from the upstream server.
HTTP Status Codes — A Complete Reference
HTTP status codes are three-digit numbers returned by a web server in response to a client's request. They are defined in RFC 9110 and are a fundamental part of the HTTP protocol. Understanding these codes is essential for debugging API integrations, diagnosing web application errors, and building robust backend services. Status codes are grouped into five classes: 1xx (informational), 2xx (success), 3xx (redirection), 4xx (client errors), and 5xx (server errors). This reference covers every commonly encountered status code with a plain-English explanation and the most common causes. Use the search bar to instantly find the code you're looking for — whether by number, name, or description.
Frequently Asked Questions
What does a 403 Forbidden error mean?
A 403 error means the server understood your request but refuses to authorize it. Unlike 401 (which means "you need to log in"), 403 means authentication won't help — you simply don't have permission. Common causes include IP blocklists, file permission issues, or server configuration rules that deny access to certain paths.
What's the difference between 401 and 403?
401 Unauthorized means "I don't know who you are — please authenticate." 403 Forbidden means "I know who you are, but you're not allowed to access this." Use 401 when credentials are missing or invalid; use 403 when the authenticated user lacks the required permissions.
When should I use 404 vs 410?
Use 404 Not Found when a resource doesn't exist (or you don't want to reveal whether it exists). Use 410 Gone when a resource has been intentionally and permanently deleted — this tells search engines to remove it from their index, while 404 might be recrawled.
What causes a 502 Bad Gateway error?
A 502 error occurs when a server acting as a gateway or proxy (like Nginx, Cloudflare, or a load balancer) receives an invalid response from the upstream server. Common causes include the upstream application crashing, timing out during startup, or returning malformed HTTP responses.