tudy.club
BlogResourcesChallengeMapAbout
KO

© 2026 tudy.club

Privacy PolicyTerms of Service
← Back to Blog

The Complete HTTP Status Code Reference

tudy.club
Ddev

The Complete HTTP Status Code Reference

Every HTTP status code explained in plain English -- from the everyday 200s and 404s to the obscure 418 teapot and 451 legal block. A quick-reference cheat sheet for devs.

March 20, 2026•3 min read
#Development

The Complete HTTP Status Code Reference

March 20, 2026

There's this viral reel going around about Kiki and the 404 -- a developer's reaction to Kiki's 404!

HTTP response status codes are numbers that tell you what happened when the server tried to handle a client's request. (Based on RFC 7231)


1xx -- Informational

The server received the request and processing is still ongoing.

CodeNameDescription
100ContinueInitial part of the request received, keep going
101Switching ProtocolsProtocol switch approved (e.g., HTTP to WebSocket)
102ProcessingRequest is being processed but no response yet (WebDAV)
103Early HintsSome headers sent ahead of the final response

2xx -- Success

The request was successfully received, understood, and processed.

CodeNameDescription
200OKRequest succeeded. The most basic success response
201CreatedResource created. Typically used after a successful POST
202AcceptedRequest received but not yet processed (async job)
203Non-Authoritative InformationResponse transformed by a proxy
204No ContentSuccess but no body to return. Used for DELETE, etc.
205Reset ContentAsks the client to reset the view
206Partial ContentPartial response for a Range request (resumable downloads, etc.)
207Multi-StatusCompound status for multiple resources (WebDAV)
208Already ReportedAlready-enumerated resource (WebDAV)
226IM UsedResponse with instance manipulation applied

3xx -- Redirection

Additional action is needed to complete the request.

CodeNameDescription
300Multiple ChoicesMultiple options available
301Moved PermanentlyResource permanently moved to a new URL
302FoundTemporary redirect to a different URL
303See OtherGo look at another URI with GET
304Not ModifiedCached version is still good (conditional request)
307Temporary RedirectTemporary redirect (preserves HTTP method)
308Permanent RedirectPermanent redirect (preserves HTTP method)

301 vs 308: With 301, the method can change to GET on redirect. 308 keeps the original method. Same relationship applies to 302 and 307.


4xx -- Client Error

Something's wrong with the request itself, so the server can't process it.

CodeNameDescription
400Bad RequestMalformed request syntax or parameters
401UnauthorizedAuthentication required. You're not logged in
402Payment RequiredPayment needed (reserved code, rarely used in practice)
403ForbiddenAuthenticated but not authorized
404Not FoundRequested resource doesn't exist
405Method Not AllowedHTTP method not supported for this endpoint
406Not AcceptableNo response matching the Accept header
407Proxy Authentication RequiredProxy authentication needed
408Request TimeoutRequest timed out
409ConflictResource state conflict (concurrent edits, duplicates, etc.)
410GoneResource permanently deleted. Unlike 404, it means "it used to exist"
411Length RequiredContent-Length header required
412Precondition FailedPrecondition header (If-Match, etc.) not met
413Payload Too LargeRequest body exceeds server's size limit
414URI Too LongURI too long to process
415Unsupported Media TypeUnsupported Content-Type
416Range Not SatisfiableRequested Range is invalid
417Expectation FailedExpect header condition not met
418I'm a Teapot ☕April Fools' joke from RFC 2324 -- "I'm a teapot"
421Misdirected RequestRequest sent to the wrong server
422Unprocessable EntitySyntax is fine but semantically invalid. Validation failures
423LockedResource is locked (WebDAV)
424Failed DependencyCascading failure from a previous request (WebDAV)
425Too EarlyRisk of TLS Early Data replay
426Upgrade RequiredProtocol upgrade needed
428Precondition RequiredConditional request (If-Match, etc.) mandatory
⭐ 429Too Many RequestsRate limit exceeded. You've hit the API call limit
431Request Header Fields Too LargeRequest headers are too big
451Unavailable For Legal ReasonsBlocked for legal reasons. Number comes from the novel Fahrenheit 451

401 vs 403: 401 is "who are you?" (not authenticated), 403 is "I know who you are, but no" (not authorized). They get mixed up a lot, but they mean different things.


5xx -- Server Error

The server failed while trying to process the request.

CodeNameDescription
500Internal Server ErrorInternal server error. Catch-all for unhandled exceptions
501Not ImplementedServer doesn't support this feature
502Bad GatewayGateway/proxy got a bad response from upstream
503Service UnavailableServer overloaded or under maintenance
504Gateway TimeoutGateway/proxy didn't get an upstream response in time
505HTTP Version Not SupportedServer doesn't support the requested HTTP version
506Variant Also NegotiatesContent negotiation loop error
507Insufficient StorageNot enough storage space (WebDAV)
508Loop DetectedInfinite loop detected (WebDAV)
510Not ExtendedFurther extensions required
511Network Authentication RequiredNetwork authentication needed (captive portals, etc.)

502 vs 504: Both involve the server behind a gateway (Nginx, load balancer, etc.). 502 means "a response came back but it was bad", 504 means "no response came back at all (timeout)".


Practical Cheat Sheet

Here are the ones you'll actually use day-to-day. That's it!

ScenarioCodes
Success200, 201, 204
Redirect301, 302, 304
Client's fault400, 401, 403, 404
Validation/Conflict409, 422
Rate Limit429
Server issue500, 502, 503, 504

Written by

J
Sejin Jung

PM & builder. Co-founder of Sapienta.

목차

  • 1xx -- Informational
  • 2xx -- Success
  • 3xx -- Redirection
  • 4xx -- Client Error
  • 5xx -- Server Error
  • Practical Cheat Sheet