HTTP Status Codes Reference

Complete list of HTTP response status codes with descriptions, common causes, and examples

61 status codes found
1xx Informational(4)
100Continue
The server has received the request headers, and the client should proceed to send the request body.
Cause: Client sent Expect: 100-continue header.Example: Large file upload waiting for server confirmation.
101Switching Protocols
The server is switching protocols as requested by the client via Upgrade header.
Cause: Client requests WebSocket upgrade.Example: HTTP to WebSocket protocol upgrade.
102Processing
The server has received and is processing the request, but no response is available yet.
Cause: Long-running WebDAV request.Example: WebDAV COPY operation on large collections.
103Early Hints
Used to return some response headers before the final HTTP message.
Cause: Server wants to preload resources.Example: Link header with rel=preload for CSS/JS files.
2xx Success(10)
200OK
The request has succeeded. The meaning depends on the HTTP method used.
Cause: Standard successful response.Example: GET request returns a webpage successfully.
201Created
The request has been fulfilled and a new resource has been created.
Cause: Successful POST or PUT creating a resource.Example: POST /api/users creates a new user account.
202Accepted
The request has been accepted for processing, but the processing has not been completed.
Cause: Asynchronous task queued.Example: Email send request accepted for background delivery.
203Non-Authoritative Information
The returned meta-information is from a local or third-party copy, not the origin server.
Cause: Proxy modified response headers.Example: Proxy returning cached but transformed content.
204No Content
The server successfully processed the request and is not returning any content.
Cause: Successful DELETE or PUT with no body to return.Example: DELETE /api/users/123 succeeds with no body.
205Reset Content
The server asks the client to reset the document view.
Cause: Form submission processed.Example: Clear the form fields after successful submission.
206Partial Content
The server is delivering only part of the resource due to a Range header.
Cause: Client requested a byte range.Example: Video player requesting bytes 1000-2000 of a file.
207Multi-Status
Provides status for multiple independent operations (WebDAV).
Cause: Batch WebDAV operations.Example: PROPFIND returning status for multiple files.
208Already Reported
Members of a DAV binding have already been enumerated in a previous reply.
Cause: Avoid repeated enumeration in WebDAV.Example: WebDAV PROPFIND with bindings already reported.
226IM Used
The server has fulfilled a GET request using instance-manipulations.
Cause: Delta encoding applied.Example: GET with A-IM header and delta-encoded response.
3xx Redirection(7)
300Multiple Choices
The request has more than one possible response. Client should choose one.
Cause: Resource exists in multiple formats.Example: Content negotiation for HTML vs JSON.
301Moved Permanently
The resource has been permanently moved to a new URL.
Cause: URL restructuring or domain change.Example: Old URL /old-page redirects to /new-page permanently.
302Found
The resource resides temporarily at a different URI.
Cause: Temporary redirect.Example: Login page redirecting to dashboard after auth.
303See Other
The response can be found at another URI using GET method.
Cause: POST/PUT result available at another location.Example: After form POST, redirect to confirmation page.
304Not Modified
The resource has not been modified since the last request.
Cause: Conditional GET with If-None-Match or If-Modified-Since.Example: Browser cache validation returns 304.
307Temporary Redirect
The request should be repeated with another URI, but future requests should still use the original URI.
Cause: Same as 302 but method must not change.Example: POST redirect maintaining POST method.
308Permanent Redirect
The request and all future requests should be directed to the given URI.
Cause: Same as 301 but method must not change.Example: API endpoint permanently moved, maintaining method.
4xx Client Error(29)
400Bad Request
The server cannot process the request due to client error.
Cause: Malformed JSON, missing required fields.Example: POST with invalid JSON body.
401Unauthorized
Authentication is required and has failed or has not been provided.
Cause: Missing or invalid authentication credentials.Example: API call without Authorization header.
402Payment Required
Reserved for future use. Sometimes used for digital payment systems.
Cause: Payment needed to access resource.Example: Paywall or subscription-required content.
403Forbidden
The server understood the request but refuses to authorize it.
Cause: Insufficient permissions despite valid auth.Example: Regular user accessing admin-only endpoint.
404Not Found
The server cannot find the requested resource.
Cause: Invalid URL or deleted resource.Example: GET /api/users/99999 for non-existent user.
405Method Not Allowed
The HTTP method is not supported for the requested resource.
Cause: Using POST on a read-only endpoint.Example: POST /api/readonly-resource returns 405.
406Not Acceptable
The server cannot produce a response matching the Accept headers.
Cause: Client accepts only XML but server returns JSON.Example: Accept: application/xml but only JSON available.
407Proxy Authentication Required
The client must authenticate with the proxy.
Cause: Proxy requires credentials.Example: Corporate proxy requiring NTLM authentication.
408Request Timeout
The server timed out waiting for the request from the client.
Cause: Slow client connection or idle keep-alive.Example: Client took too long to send complete request.
409Conflict
The request conflicts with the current state of the target resource.
Cause: Edit conflict, duplicate entry.Example: PUT with outdated ETag (optimistic concurrency).
410Gone
The resource is no longer available and will not be available again.
Cause: Resource permanently deleted.Example: Deprecated API endpoint intentionally removed.
411Length Required
The server requires a Content-Length header in the request.
Cause: Missing Content-Length on POST/PUT.Example: Chunked transfer encoding not supported by server.
412Precondition Failed
One or more conditions in the request header fields were evaluated to false.
Cause: If-Match or If-Unmodified-Since check failed.Example: Conditional update with stale ETag.
413Content Too Large
The request entity is larger than the server is willing to process.
Cause: File upload exceeds server limit.Example: Uploading 100MB file to server with 10MB limit.
414URI Too Long
The URI requested by the client is longer than the server is willing to interpret.
Cause: Extremely long query string.Example: GET with 10,000+ character query string.
415Unsupported Media Type
The media format of the requested data is not supported.
Cause: Wrong Content-Type header.Example: Sending XML with Content-Type: application/json.
416Range Not Satisfiable
The requested range cannot be fulfilled.
Cause: Range header exceeds resource size.Example: Range: bytes=5000-6000 on a 4000-byte file.
417Expectation Failed
The server cannot meet the requirements of the Expect header.
Cause: Server does not support Expect: 100-continue.Example: Expect header value not supported by server.
418I'm a Teapot
The server refuses to brew coffee because it is a teapot (RFC 2324).
Cause: April Fools RFC joke (HTCPCP).Example: Attempting to brew coffee with a teapot.
421Misdirected Request
The request was directed at a server that cannot produce a response.
Cause: Wrong server for the TLS certificate.Example: HTTP/2 connection reuse with wrong hostname.
422Unprocessable Content
The request was well-formed but unable to be followed due to semantic errors.
Cause: Valid JSON but fails business validation.Example: Creating a user with age -5.
423Locked
The resource being accessed is locked (WebDAV).
Cause: Resource locked by another user.Example: Trying to edit a file locked in WebDAV.
424Failed Dependency
The request failed because it depended on another request that failed.
Cause: Previous operation in batch failed.Example: WebDAV COPY fails because LOCK failed.
425Too Early
The server is unwilling to process a request that might be replayed.
Cause: Request sent during TLS 0-RTT early data.Example: POST during TLS 1.3 early data rejected.
426Upgrade Required
The server refuses to perform the request using the current protocol.
Cause: Server requires protocol upgrade.Example: Server requires TLS 1.2 or WebSocket.
428Precondition Required
The server requires the request to be conditional.
Cause: Server enforces conditional requests.Example: PUT without If-Match header rejected.
429Too Many Requests
The user has sent too many requests in a given amount of time.
Cause: Rate limiting triggered.Example: API rate limit: 100 requests/minute exceeded.
431Request Header Fields Too Large
The server is unwilling to process the request because its header fields are too large.
Cause: Oversized cookies or headers.Example: Cookie header exceeds server 8KB header limit.
451Unavailable For Legal Reasons
The resource is unavailable due to legal demands.
Cause: Government censorship or DMCA takedown.Example: Content blocked due to court order in region.
5xx Server Error(11)
500Internal Server Error
The server has encountered an unexpected condition.
Cause: Unhandled exception, bug in application code.Example: Null pointer exception in request handler.
501Not Implemented
The server does not support the functionality required.
Cause: HTTP method not implemented by the server.Example: PATCH method not supported by the application.
502Bad Gateway
The server received an invalid response from an upstream server.
Cause: Upstream server crashed or returned garbage.Example: Nginx gets connection refused from Node.js app.
503Service Unavailable
The server is not ready to handle the request.
Cause: Server maintenance or overload.Example: During deployment, server returns 503 temporarily.
504Gateway Timeout
The server did not receive a timely response from an upstream server.
Cause: Upstream server too slow to respond.Example: Database query takes 60s, proxy times out at 30s.
505HTTP Version Not Supported
The HTTP version used in the request is not supported.
Cause: Client using unsupported HTTP version.Example: Request with HTTP/3 to HTTP/1.1-only server.
506Variant Also Negotiates
Transparent content negotiation results in a circular reference.
Cause: Misconfigured content negotiation.Example: Server variant configuration creates a loop.
507Insufficient Storage
The server is unable to store the representation needed (WebDAV).
Cause: Server disk full.Example: WebDAV PUT fails due to no disk space.
508Loop Detected
The server detected an infinite loop while processing (WebDAV).
Cause: Circular reference in WebDAV bindings.Example: PROPFIND with depth infinity hits a loop.
510Not Extended
Further extensions to the request are required.
Cause: Required HTTP extension not present.Example: Missing mandatory extension header.
511Network Authentication Required
The client needs to authenticate to gain network access.
Cause: WiFi captive portal login required.Example: Hotel/airport WiFi requiring browser login.