HTTP Status Codes
HTTP status codes are three-digit numbers returned by the server indicating the outcome of a client's request. The first digit defines the class of response. Clients act on the status code regardless of the response body content.
The standard status codes each carry specific semantics: 200 confirms success, 301 signals a permanent redirect, 404 indicates a missing resource, and 500 reports a server failure.
1xx: Informational
Informational responses indicate the request was received and processing continues. The server sends a final response after the informational one.
2xx: Success
Success responses indicate the request was received, understood, and accepted.
- 200 OK
- 201 Created
- 202 Accepted
- 203 Non-Authoritative Information
- 204 No Content
- 205 Reset Content
- 206 Partial Content
- 207 Multi-Status
- 208 Already Reported
- 218 This Is Fine
- 226 IM Used
3xx: Redirection
Redirection responses indicate further action is needed to complete the request. The client follows the Location header to the new address.
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Found
- 303 See Other
- 304 Not Modified
- 305 Use Proxy
- 306 Switch Proxy
- 307 Temporary Redirect
- 308 Permanent Redirect
4xx: Client error
Client error responses indicate the request contains a problem the server cannot process, such as malformed syntax, missing Authentication, or a non-existent resource.
- 400 Bad Request
- 401 Unauthorized
- 402 Payment Required
- 403 Forbidden
- 404 Not Found
- 405 Method Not Allowed
- 406 Not Acceptable
- 407 Proxy Authentication Required
- 408 Request Timeout
- 409 Conflict
- 410 Gone
- 411 Length Required
- 412 Precondition Failed
- 413 Content Too Large
- 414 URI Too Long
- 415 Unsupported Media Type
- 416 Range Not Satisfiable
- 417 Expectation Failed
- 418 I'm a Teapot
- 419 Page Expired
- 420 Method Failure or Enhance Your Calm
- 421 Misdirected Request
- 422 Unprocessable Content
- 423 Locked
- 424 Failed Dependency
- 425 Too Early
- 426 Upgrade Required
- 428 Precondition Required
- 429 Too Many Requests
- 430 Security Rejection
- 431 Request Header Fields Too Large
- 440 Login Time-Out
- 444 No Response
- 449 Retry With
- 450 Blocked by Windows Parental Controls
- 451 Unavailable for Legal Reasons
- 460 Client Closed Connection Prematurely
- 463 Too Many Forwarded IP Addresses
- 464 Incompatible Protocol
- 470 Request Denied
- 492 User Access Forbidden
- 493 Unsupported Browser
- 494 Request Header Too Large
- 495 SSL Certificate Error
- 496 SSL Certificate Required
- 497 HTTP Request Sent to HTTPS Port
- 498 Invalid Token
- 499 Token Required or Client Closed Request
5xx: Server error
Server error responses indicate the server recognized a valid request but failed to fulfill the request due to an internal problem.
- 500 Internal Server Error
- 501 Not Implemented
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
- 505 HTTP Version Not Supported
- 506 Variant Also Negotiates
- 507 Insufficient Storage
- 508 Loop Detected
- 509 Bandwidth Limit Exceeded
- 510 Not Extended
- 511 Network Authentication Required
- 520 Web Server Is Returning an Unknown Error
- 521 Web Server Is Down
- 522 Connection Timed Out
- 523 Origin Is Unreachable
- 524 a Timeout Occurred
- 525 SSL Handshake Failed
- 526 Invalid SSL Certificate
- 527 Railgun Listener to Origin
- 529 the Service Is Overloaded
- 530 Site Frozen
- 531 Upstream Connection Error
- 532 Response Too Large
- 533 Upstream TLS Error
- 534 Application Error
- 535 Unknown Application
- 536 HTTP Response Timeout
- 537 DNS Resolution Error
- 538 Request Loop
- 539 Serverless Timeout
- 540 Temporarily Disabled
- 541 Out of Workers
- 542 Database Error / Header Overflow
- 543 Communication Error / Upstream Timeout
- 544 Management Error / Invalid Host Header
- 545 Authentication Error / Component Not Ready
- 546 Unknown Application / TLS Error
- 547 No HTTP Response
- 548 Invalid Response / DNS Resolution Error
- 549 Authentication Gateway Error / Application Crash
- 552 Application Unreachable
- 553 Directory Service Error
- 554 Authentication Token Error
- 555 Application Does Not Support Kerberos
- 556 Unexpected Authentication Challenge
- 557 KDC Unreachable
- 558 Connection Limit Stop
- 561 Unauthorized
- 562 Credential Error
- 598 Network Read Timeout Error
- 599 Network Connect Timeout Error
Additional status codes
Beyond the five standard classes, the following status codes appear in practice.
- 110 Response Is Stale
- 111 Revalidation Failed
- 112 Disconnected Operation
- 113 Heuristic Expiration
- 199 Miscellaneous Warning
- 214 Transformation Applied
- 299 Miscellaneous Persistent Warning
- 600 Invalid Headers
- 893 Load Balancing Overflow
- 999 Unauthorized
Takeaway
HTTP status codes classify the outcome of every HTTP request into five classes. The first digit identifies the class: informational, success, redirection, client error, or server error. Each status code carries specific semantics guiding clients on how to handle the response.