X Xerobit

HTTP Status Codes

Every HTTP status code from the IANA registry. Searchable, filterable by category, with plain-English meaning — including the tricky ones nobody gets right (422 vs 400, 401 vs 403, 301 vs 308).

100
Continue
Server received the request headers and client should proceed to send the body.
101
Switching Protocols
Server is switching protocols as requested via Upgrade header.
102
Processing
WebDAV: server has received and is processing the request.
103
Early Hints
Server is sending hints (typically Link preload) before the final response.
200
OK
Standard success response.
201
Created
Request succeeded and a new resource was created. Include Location header.
202
Accepted
Request accepted for processing but not yet completed.
203
Non-Authoritative Information
Response is from a transforming proxy, not the origin.
204
No Content
Success with no body to return. Common for PUT and DELETE.
205
Reset Content
Success; client should reset the document view (e.g. form).
206
Partial Content
Range request succeeded. Used for video streaming and resumable downloads.
207
Multi-Status
WebDAV: multiple independent responses in the body.
208
Already Reported
WebDAV: members of a binding already enumerated.
226
IM Used
Response is a delta encoding result.
300
Multiple Choices
Multiple options available; rarely used.
301
Moved Permanently
Permanent redirect. SEO-safe; search engines transfer rank.
302
Found
Temporary redirect. Original URL retains its rank.
303
See Other
Redirect that forces a GET on the new URL. Post-redirect-get pattern.
304
Not Modified
Cached version still valid. No body returned.
307
Temporary Redirect
Like 302 but preserves HTTP method.
308
Permanent Redirect
Like 301 but preserves HTTP method. Prefer over 301 for modern APIs.
400
Bad Request
Malformed request. Generic client error.
401
Unauthorized
Authentication required (missing/invalid credentials). Should be "Unauthenticated".
402
Payment Required
Reserved. Used by some APIs for quota exhaustion.
403
Forbidden
Authenticated but not authorized. Server understood, refused.
404
Not Found
Resource does not exist.
405
Method Not Allowed
Method not supported on this resource. Response should list allowed methods.
406
Not Acceptable
Server cannot produce response matching Accept header.
407
Proxy Authentication Required
Like 401 but for the proxy.
408
Request Timeout
Server timed out waiting for the request.
409
Conflict
Request conflicts with current state (e.g. duplicate resource).
410
Gone
Resource permanently removed. Stronger signal than 404.
411
Length Required
Content-Length header missing.
412
Precondition Failed
If-Match or similar precondition failed.
413
Payload Too Large
Request body exceeds server limit.
414
URI Too Long
URL exceeds server limit.
415
Unsupported Media Type
Content-Type not supported.
416
Range Not Satisfiable
Requested range outside the resource size.
417
Expectation Failed
Expect header requirement cannot be met.
418
I'm a Teapot
April Fools joke from RFC 2324. Real HTCPCP response.
421
Misdirected Request
Server not configured to produce response for combined URL + Host.
422
Unprocessable Entity
Semantic validation failure. Use for "request is syntactically fine but logically invalid".
423
Locked
WebDAV: resource locked.
424
Failed Dependency
WebDAV: prior request failed.
425
Too Early
Server unwilling to process an early-data request to avoid replay.
426
Upgrade Required
Client must upgrade to a different protocol.
428
Precondition Required
Server requires request to be conditional (If-Match etc.).
429
Too Many Requests
Rate limit exceeded. Include Retry-After header.
431
Request Header Fields Too Large
Headers exceed server limit.
451
Unavailable For Legal Reasons
Content blocked for legal reasons. References Fahrenheit 451.
500
Internal Server Error
Generic server failure. Check logs.
501
Not Implemented
Server does not recognize or support the method.
502
Bad Gateway
Upstream server returned invalid response.
503
Service Unavailable
Temporarily unavailable. Include Retry-After.
504
Gateway Timeout
Upstream server timed out.
505
HTTP Version Not Supported
Server does not support the HTTP version.
506
Variant Also Negotiates
Internal configuration error in content negotiation.
507
Insufficient Storage
WebDAV: out of space.
508
Loop Detected
WebDAV: infinite loop in request.
510
Not Extended
Further extensions required to fulfill the request.
511
Network Authentication Required
Client must authenticate with the network (captive portal).

Live Market Insight

DataForSEO · 2026-04-25
Vol (US)
18,100
"http status codes"
CPC
$2.10
Cluster
3 kws
Top competitor
w3schools.com
3/10 SERPs

Status code categories at a glance

Common status-code debates

401 vs 403

401 Unauthorized — "I don't know who you are." The request has no credentials, or the credentials are invalid/expired. Reply to an unauthenticated client.

403 Forbidden — "I know who you are and you can't have this." Credentials are valid but the user lacks permission for the resource.

The 401 name is a misnomer — it really means unauthenticated, not unauthorized. Too late to rename now.

422 vs 400

400 Bad Request — the request itself is malformed (invalid JSON, missing required headers, bad syntax).

422 Unprocessable Entity — the request is syntactically valid but semantically wrong (email address is well-formed but not a real email, user ID exists but isn't active). Most modern APIs prefer 422 for business-rule validation failures.

301 vs 302 vs 307 vs 308

204 No Content

204 returns success with no body. Use it for PUT/DELETE success, or for any endpoint where the client doesn't need a response payload. Pairs with Content-Length: 0. Saves bytes on high-volume endpoints.

429 Too Many Requests

Rate-limit hit. Always include Retry-After (seconds or HTTP-date) so clients know when to retry. Good APIs also include X-RateLimit-Remaining and X-RateLimit-Reset.

Tips for choosing the right status

Related tools

Pillar

Part of Dev Productivity — regex, cron, timestamps, HTTP, color, word counter, aspect ratio, case.


Written by Mian Ali Khalid. Last updated 2026-04-25.