๐ HTTP Status Codes Reference
Complete HTTP status codes โ 1xx, 2xx, 3xx, 4xx, 5xx with explanations and use cases.
100
Continue
Server received request headers; client should send request body
101
Switching Protocols
Server is switching protocols (e.g. WebSocket upgrade)
102
Processing
WebDAV: server is processing the request
103
Early Hints
Used to return some response headers before final HTTP message
200
OK
Standard success response. Most common for GET
201
Created
Request succeeded and a new resource was created (POST)
202
Accepted
Request received but processing not yet complete
203
Non-Authoritative Information
Returned info from a 3rd party, not the origin server
204
No Content
Success with no body (DELETE, PUT updates)
205
Reset Content
Tells client to reset document view
206
Partial Content
Range request fulfilled (video streaming, downloads)
300
Multiple Choices
Multiple options for the resource
301
Moved Permanently
Resource permanently moved. SEO-friendly redirect.
302
Found (Temporary Redirect)
Resource temporarily moved
303
See Other
Redirect for POST โ GET pattern
304
Not Modified
Resource hasnt changed since If-Modified-Since (caching)
307
Temporary Redirect
302 but preserves request method
308
Permanent Redirect
301 but preserves request method
400
Bad Request
Request was malformed (invalid JSON, missing required fields)
401
Unauthorized
Authentication required or failed (missing/invalid token)
402
Payment Required
Reserved for future use (used by some APIs for billing)
403
Forbidden
Authenticated but not authorized (insufficient permissions)
404
Not Found
Resource doesnt exist. The classic.
405
Method Not Allowed
HTTP method not supported (e.g. POST on a read-only endpoint)
406
Not Acceptable
Server cant produce response matching Accept headers
407
Proxy Authentication Required
Authenticate with proxy first
408
Request Timeout
Server timed out waiting for the request
409
Conflict
Request conflicts with current state (duplicate, version mismatch)
410
Gone
Resource permanently removed (vs 404, this is intentional)
411
Length Required
Content-Length header missing
412
Precondition Failed
Conditional request failed (If-Match, etc.)
413
Payload Too Large
Request body too large
414
URI Too Long
URL too long (rare; usually 8KB+)
415
Unsupported Media Type
Content-Type not supported
416
Range Not Satisfiable
Range header asks for more than file size
417
Expectation Failed
Expect header expectation cant be met
418
I'm a teapot
April Fools RFC. Some sites still use it.
421
Misdirected Request
Request sent to wrong server
422
Unprocessable Entity
Validation failed (semantically invalid). VERY COMMON in APIs.
423
Locked
Resource locked (WebDAV)
424
Failed Dependency
Previous request failed (WebDAV)
425
Too Early
Server unwilling to risk processing (replay attack protection)
426
Upgrade Required
Client must upgrade protocol (e.g. HTTP/2)
428
Precondition Required
Origin server requires conditional request
429
Too Many Requests
Rate limit exceeded. Retry-After header tells when to retry.
431
Request Header Fields Too Large
Headers too big
451
Unavailable For Legal Reasons
Censorship/legal block. Reference: Fahrenheit 451.
500
Internal Server Error
Generic server error. Bug in your code 99% of the time.
501
Not Implemented
Server doesnt support this functionality
502
Bad Gateway
Upstream server gave invalid response (proxy/CDN issue)
503
Service Unavailable
Server overloaded or down for maintenance
504
Gateway Timeout
Upstream server didnt respond in time
505
HTTP Version Not Supported
HTTP version not supported
506
Variant Also Negotiates
Server config issue with content negotiation
507
Insufficient Storage
Server out of disk (WebDAV)
508
Loop Detected
Infinite loop while processing (WebDAV)
510
Not Extended
Further extensions required
511
Network Authentication Required
Network access requires auth (WiFi captive portal)
๐ Quick Categories
- 1xx Informational โ request received, continuing
- 2xx Success โ action successfully received and accepted
- 3xx Redirection โ further action needed
- 4xx Client Error โ request has bad syntax or cant be fulfilled
- 5xx Server Error โ server failed to fulfill valid request