Search every HTTP status code with its meaning, category, and common causes.
Tip: press / to search. Use wildcards like 4xx (a class), 50x (a decade) or x04 (any class). Text search is fuzzy.
Showing 62 of 62
The initial part of a request was received and the client should continue sending the body of the request.
Common cause: Sent by servers after a client includes an "Expect: 100-continue" header before uploading a large body.
100 Continue
The server agrees to switch protocols as requested by the client in an Upgrade header.
Common cause: Common when upgrading an HTTP connection to a WebSocket.
101 Switching Protocols
A WebDAV interim response indicating the server has accepted the request but has not yet completed it.
Common cause: Used to keep the connection alive during long-running WebDAV operations. Deprecated.
102 Processing
Used to return preliminary headers, letting the client start preloading resources while the final response is prepared.
Common cause: Sent with Link headers so browsers can preconnect or preload assets before the full response.
103 Early Hints
The request succeeded. The meaning depends on the method (GET returns the resource, POST returns the result of the action).
Common cause: The default success response for a completed request.
200 OK
The request succeeded and a new resource was created as a result, typically after a POST or PUT.
Common cause: Return after creating a record; include a Location header pointing to the new resource.
201 Created
The request has been accepted for processing, but the processing has not been completed and may not succeed.
Common cause: Useful for asynchronous or queued work where the outcome is not yet known.
202 Accepted
The returned metadata is not exactly the same as available from the origin server, but is collected from a local or third-party copy.
Common cause: Typically produced by a transforming proxy that modified the origin response.
203 Non-Authoritative Information
The request succeeded but there is no content to send in the response body.
Common cause: Common for DELETE requests or PUT/PATCH updates that return no body.
204 No Content
Tells the client to reset the document view that sent the request, for example clearing a form.
Common cause: Used after a form submission when the input fields should be cleared for a new entry.
205 Reset Content
The server is delivering only part of the resource due to a Range header sent by the client.
Common cause: Powers resumable downloads and media streaming with byte-range requests.
206 Partial Content
A WebDAV response that conveys multiple status codes for multiple independent operations in a single response body.
Common cause: Returned by WebDAV batch operations where each sub-request has its own result.
207 Multi-Status
A WebDAV code used inside a Multi-Status response to avoid repeatedly enumerating the members of a binding already reported.
Common cause: Avoids duplicate listing of the same resources in a DAV:propstat response.
208 Already Reported
The server fulfilled a GET request and the response is a representation of the result of one or more instance-manipulations.
Common cause: Part of the HTTP Delta encoding extension (RFC 3229). Rarely seen.
226 IM Used
The request has more than one possible response and the client (or user) should choose one of them.
Common cause: Used for content negotiation when several representations are available.
300 Multiple Choices
The URL of the requested resource has changed permanently. The new URL is given in the Location header.
Common cause: Use for permanent redirects; search engines transfer ranking to the new URL.
301 Moved Permanently
The resource resides temporarily under a different URL. The client should keep using the original URL for future requests.
Common cause: Common temporary redirect. Many clients wrongly switch POST to GET, which is why 307 exists.
302 Found
Directs the client to get the requested resource at another URL using a GET request.
Common cause: The classic Post/Redirect/Get pattern to prevent duplicate form submissions on refresh.
303 See Other
Indicates the cached copy is still valid, so the client can reuse it without re-downloading the body.
Common cause: Returned to conditional requests using If-None-Match (ETag) or If-Modified-Since.
304 Not Modified
The requested resource must be accessed through the proxy given in the Location header.
Common cause: Deprecated for security reasons and no longer honoured by most clients.
305 Use Proxy
The resource is temporarily at another URL and the client must reuse the same HTTP method and body when following the redirect.
Common cause: Prefer over 302 when a POST/PUT must not be downgraded to a GET.
307 Temporary Redirect
The resource has moved permanently and the client must reuse the same method and body when following the redirect.
Common cause: Like 301 but guarantees the method is preserved. Ideal for permanent API endpoint moves.
308 Permanent Redirect
The server cannot process the request due to a client error such as malformed syntax or invalid framing.
Common cause: Invalid JSON body, missing required fields, or a malformed query string.
400 Bad Request
Authentication is required and has failed or has not been provided. The name is misleading — it really means "unauthenticated".
Common cause: Missing, expired, or invalid credentials/token. Respond with a WWW-Authenticate header.
401 Unauthorized
Reserved for future use. Occasionally used by APIs to signal that payment or a paid plan is required.
Common cause: Some services return it when a quota is exhausted or a subscription has lapsed.
402 Payment Required
The client is authenticated but does not have permission to access the resource.
Common cause: Insufficient role/permissions, IP restrictions, or a valid user lacking access to that object.
403 Forbidden
The server cannot find the requested resource. The URL is not recognised or the resource does not exist.
Common cause: Wrong path, deleted resource, or a route that was never defined. Often used to hide 403s.
404 Not Found
The request method is known by the server but is not supported for the target resource.
Common cause: For example a POST to a read-only endpoint. Include an Allow header listing valid methods.
405 Method Not Allowed
The server cannot produce a response matching the criteria in the request Accept headers.
Common cause: The client asked for a media type the server cannot generate via content negotiation.
406 Not Acceptable
The client must first authenticate itself with the proxy before the request can be forwarded.
Common cause: Like 401 but for a proxy; respond with a Proxy-Authenticate header.
407 Proxy Authentication Required
The server timed out waiting for the request. It would like to shut down the unused connection.
Common cause: The client was too slow sending the request, or an idle keep-alive connection was reaped.
408 Request Timeout
The request conflicts with the current state of the target resource.
Common cause: Edit conflicts, duplicate unique keys, or optimistic-concurrency version mismatches.
409 Conflict
The resource is permanently gone and no forwarding address is known. More definitive than 404.
Common cause: Use when content was intentionally removed and will not return, so crawlers stop retrying.
410 Gone
The server refuses the request because it does not define a Content-Length header.
Common cause: Add a Content-Length header for requests that carry a body.
411 Length Required
One or more conditions given in the request headers evaluated to false on the server.
Common cause: A conditional request (If-Match, If-Unmodified-Since) failed, often guarding against lost updates.
412 Precondition Failed
The request body is larger than the server is willing or able to process.
Common cause: File upload exceeds size limits. The server may close the connection or send Retry-After.
413 Payload Too Large
The URI requested is longer than the server is willing to interpret.
Common cause: Too much data crammed into a query string; use a POST body instead.
414 URI Too Long
The server refuses the request because the payload is in a format it does not support.
Common cause: Wrong or missing Content-Type header, e.g. sending XML to a JSON-only endpoint.
415 Unsupported Media Type
The Range specified in the request cannot be fulfilled, for example a start beyond the size of the resource.
Common cause: A resumable download requested bytes past the end of the file.
416 Range Not Satisfiable
The expectation given in the Expect request header could not be met by the server.
Common cause: The server does not support "Expect: 100-continue".
417 Expectation Failed
The server refuses to brew coffee because it is, permanently, a teapot. An April Fools joke from RFC 2324.
Common cause: Occasionally used as an easter egg or to reject unwanted automated requests.
418 I'm a Teapot
The request was directed at a server that is not able to produce a response for the combination of scheme and authority.
Common cause: Common with HTTP/2 connection coalescing when the server has no matching certificate/config.
421 Misdirected Request
The request was well-formed but could not be followed due to semantic (validation) errors.
Common cause: Widely used by REST APIs for validation failures such as an invalid email format.
422 Unprocessable Content
The WebDAV resource being accessed is locked.
Common cause: Another user or process holds a lock on the resource.
423 Locked
The WebDAV request failed because it depended on another request that also failed.
Common cause: A chained operation could not proceed because a prior step returned an error.
424 Failed Dependency
The server is unwilling to risk processing a request that might be replayed.
Common cause: Sent to defend against replay attacks on TLS 1.3 early (0-RTT) data.
425 Too Early
The server refuses the request using the current protocol but may do so after the client upgrades.
Common cause: The server requires a newer protocol; it sends an Upgrade header.
426 Upgrade Required
The origin server requires the request to be conditional to prevent the lost-update problem.
Common cause: Force clients to send If-Match so concurrent edits do not silently overwrite each other.
428 Precondition Required
The user has sent too many requests in a given amount of time (rate limiting).
Common cause: Rate/quota limit exceeded. Include a Retry-After header telling the client when to try again.
429 Too Many Requests
The server refuses to process the request because its header fields are too large, individually or collectively.
Common cause: Oversized cookies or too many headers. Reduce header size and retry.
431 Request Header Fields Too Large
The resource is unavailable due to a legal demand, such as government censorship or a takedown notice.
Common cause: Content blocked by law. The number references Ray Bradbury’s Fahrenheit 451.
451 Unavailable For Legal Reasons
A generic error message indicating the server encountered an unexpected condition that prevented it from fulfilling the request.
Common cause: Unhandled exceptions, null references, or bugs in server code. Check the server logs.
500 Internal Server Error
The server does not support the functionality required to fulfil the request.
Common cause: An unrecognised request method, or a feature the server has not yet implemented.
501 Not Implemented
The server, while acting as a gateway or proxy, received an invalid response from an upstream server.
Common cause: The upstream/origin returned garbage, crashed, or is unreachable behind a load balancer.
502 Bad Gateway
The server is not ready to handle the request, usually because it is overloaded or down for maintenance.
Common cause: Maintenance windows or traffic spikes. Send a Retry-After header when possible.
503 Service Unavailable
The server, acting as a gateway or proxy, did not get a response from the upstream server in time.
Common cause: A slow or hung upstream service exceeded the proxy timeout.
504 Gateway Timeout
The server does not support the HTTP protocol version used in the request.
Common cause: The client used an HTTP major version the server refuses to speak.
505 HTTP Version Not Supported
The server has an internal configuration error: the chosen variant is itself engaged in content negotiation and is not a proper endpoint.
Common cause: A transparent content-negotiation misconfiguration. Rare.
506 Variant Also Negotiates
The WebDAV server is unable to store the representation needed to complete the request.
Common cause: The server ran out of disk space or storage quota for the operation.
507 Insufficient Storage
The WebDAV server detected an infinite loop while processing the request.
Common cause: A self-referential resource binding caused an endless traversal.
508 Loop Detected
Further extensions to the request are required for the server to fulfil it.
Common cause: The client must send additional information declared by an HTTP extension. Rare.
510 Not Extended
The client needs to authenticate to gain network access, typically at a captive portal.
Common cause: Intercepting proxies such as Wi-Fi captive portals use this to force a login.
511 Network Authentication Required
Categories
1xx Informational — Request received, continuing process.
2xx Success — The request was successfully received and accepted.
3xx Redirection — Further action is needed to complete the request.
4xx Client Error — The request contains bad syntax or cannot be fulfilled.
5xx Server Error — The server failed to fulfil a valid request.