Code & computing / QUICK REFERENCE

HTTP status codes: what they mean and what to check

Decode common HTTP response codes and choose the next diagnostic action for APIs, redirects, caching and servers.

66 entries

Informational and successful responses

100 Continue
100 Continue

Client can continue sending the request body after interim acknowledgment. [1][2]

101 Switching Protocols
101 Switching Protocols

Server agrees to a negotiated protocol switch such as a supported upgrade. [1][2]

102 Processing
102 Processing

WebDAV extension indicates a request is still being handled. [1][2]

103 Early Hints
103 Early Hints

Preliminary header hints can let clients preload linked resources. [1][2]

200 OK
200 OK

Ordinary success; actual representation or result depends on request method. [1][2]

201 Created
201 Created

New resource created; check Location or returned representation where supplied. [1][2]

202 Accepted
202 Accepted

Work was accepted for processing, but may not yet have completed. [1][2]

203 Non-Authoritative Information
203 Non-Authoritative Information

Successful but transformed information from an intermediary. [1][2]

204 No Content
204 No Content

Success with no response content; do not assume a JSON response body. [1][2]

205 Reset Content
205 Reset Content

Success asking a user agent to reset document view or input. [1][2]

206 Partial Content
206 Partial Content

Range request succeeded partially; inspect Content-Range and Range. [1][2]

207 Multi-Status
207 Multi-Status

WebDAV response reports separate statuses for several resources. [1][2]

208 Already Reported
208 Already Reported

WebDAV-specific deduplication information within a multistatus response. [1][2]

226 IM Used
226 IM Used

Delta-encoding extension indicating instance manipulation applied. [1][2]

Redirects and cache validation

300 Multiple Choices
300 Multiple Choices

More than one representation or resource choice is available. [1][2]

301 Moved Permanently
301 Moved Permanently

Permanent redirect; review Location and method semantics. [1][2]

302 Found
302 Found

Temporary redirect, historically allowing method changes on follow-up requests. [1][2]

303 See Other
303 See Other

Redirect client to retrieve a different URI, generally with GET. [1][2]

304 Not Modified
304 Not Modified

Conditional request validated cached representation; not a full new entity body. [1][2]

305 Use Proxy
305 Use Proxy

Deprecated redirect mechanism; do not build modern API logic around it. [1][2]

307 Temporary Redirect
307 Temporary Redirect

Temporary redirect that preserves the request method. [1][2]

308 Permanent Redirect
308 Permanent Redirect

Permanent redirect that preserves the request method. [1][2]

Redirect chain investigation
Check each Location header and status in sequence

Multiple hops can cause latency or redirect loops. [1][2]

Cache investigation
Compare ETag / Last-Modified with request conditions

A 304 depends on conditional request headers. [1][2]

Client, authorization and input failures

400 Bad Request
400 Bad Request

Request format or other client-side syntax is invalid; inspect body, query and headers. [1][2]

401 Unauthorized
401 Unauthorized

Client authentication is required or inadequate; check WWW-Authenticate. [1][2]

402 Payment Required
402 Payment Required

Reserved code with no standard universal payment workflow. [1][2]

403 Forbidden
403 Forbidden

Server understood request but refuses it; account and policy may prohibit access. [1][2]

404 Not Found
404 Not Found

Target resource or chosen route could not be found or is concealed. [1][2]

405 Method Not Allowed
405 Method Not Allowed

Route exists but does not allow this method; inspect Allow header. [1][2]

406 Not Acceptable
406 Not Acceptable

Server cannot produce an acceptable representation for requested negotiation. [1][2]

407 Proxy Authentication Required
407 Proxy Authentication Required

Authentication is required with an intermediary proxy. [1][2]

408 Request Timeout
408 Request Timeout

Server did not receive a complete request in its permitted time. [1][2]

409 Conflict
409 Conflict

Request conflicts with current resource state; inspect versions or concurrent updates. [1][2]

410 Gone
410 Gone

Resource is intentionally unavailable, generally indicating removal rather than transient absence. [1][2]

411 Length Required
411 Length Required

Server expects a valid Content-Length where required. [1][2]

412 Precondition Failed
412 Precondition Failed

Conditional request guard such as If-Match did not succeed. [1][2]

413 Content Too Large
413 Content Too Large

Request content exceeds server processing limits; check upload and reverse-proxy limits. [1][2]

414 URI Too Long
414 URI Too Long

Request target exceeds accepted size; shorten or move data into a body where appropriate. [1][2]

415 Unsupported Media Type
415 Unsupported Media Type

Content-Type or encoding is not supported by the endpoint. [1][2]

416 Range Not Satisfiable
416 Range Not Satisfiable

Requested byte range cannot be served from the representation. [1][2]

417 Expectation Failed
417 Expectation Failed

A request expectation in Expect header cannot be met. [1][2]

421 Misdirected Request
421 Misdirected Request

Connection reached a server that cannot authoritatively respond for target origin. [1][2]

422 Unprocessable Content
422 Unprocessable Content

Syntax is understood but instructions cannot be processed; inspect validation errors. [1][2]

423 Locked
423 Locked

WebDAV target is locked against the attempted change. [1][2]

424 Failed Dependency
424 Failed Dependency

WebDAV request depends on an operation that did not succeed. [1][2]

425 Too Early
425 Too Early

Server avoids processing replay-risky early-data request. [1][2]

426 Upgrade Required
426 Upgrade Required

Server requires a different protocol, with Upgrade guidance. [1][2]

428 Precondition Required
428 Precondition Required

Server requires a conditional write to prevent lost updates. [1][2]

429 Too Many Requests
429 Too Many Requests

Rate limit hit; obey Retry-After if provided and apply backoff. [1][2]

431 Request Header Fields Too Large
431 Request Header Fields Too Large

Reduce oversized cookies or other request headers. [1][2]

451 Unavailable For Legal Reasons
451 Unavailable For Legal Reasons

Target is unavailable due to a legal demand or restriction. [1][2]

Server failures and diagnostics

500 Internal Server Error
500 Internal Server Error

Generic failure during processing; correlate logs with request identifier. [1][2]

501 Not Implemented
501 Not Implemented

Server lacks the requested capability, often an unrecognized method. [1][2]

502 Bad Gateway
502 Bad Gateway

Proxy or gateway got an invalid upstream response; inspect upstream health. [1][2]

503 Service Unavailable
503 Service Unavailable

Temporary overload or maintenance is possible; Retry-After may guide retry. [1][2]

504 Gateway Timeout
504 Gateway Timeout

Gateway waited too long for upstream; check service latency and network. [1][2]

505 HTTP Version Not Supported
505 HTTP Version Not Supported

Server rejects the protocol version used in request. [1][2]

506 Variant Also Negotiates
506 Variant Also Negotiates

Server configuration caused a negotiation loop for a resource. [1][2]

507 Insufficient Storage
507 Insufficient Storage

WebDAV server cannot store needed representation or state. [1][2]

508 Loop Detected
508 Loop Detected

WebDAV server encountered an infinite loop during processing. [1][2]

511 Network Authentication Required
511 Network Authentication Required

Network intermediary may demand portal authentication. [1][2]

Diagnose 502 versus 504
502 = invalid upstream response; 504 = upstream timeout

Test the gateway-to-origin path, timeout and upstream logs. [1][2]

Diagnose 401 versus 403
401 = authenticate; 403 = understood but forbidden

Retry only with appropriate credentials or permission changes. [1][2]

Diagnose 404 versus 410
404 = absent/hidden; 410 = deliberately gone

Decide whether the resource has permanently been removed. [1][2]

Retry idempotently
Repeating some methods can duplicate effects

Check method semantics and idempotency keys before retrying writes. [1][2]

Reserved placement, separate from reference controls. No ad network is active.

Updated HTTP status registry · 2026

Sources

  1. HTTP Status Code Registry ↗
  2. RFC 9110 HTTP Semantics ↗