Complete HTTP status code reference covering all IANA official codes from RFC 9110 and related specifications — including WebDAV (RFC 4918), additional HTTP status codes (RFC 6585), 308 Permanent Redirect (RFC 7538), 451 Unavailable For Legal Reasons (RFC 7725), and Early Hints (RFC 8297). Also includes unofficial platform extensions from Nginx, Cloudflare, and IIS. Each code shows its description, RFC reference, and commonly used codes include usage scenarios and common causes for quick troubleshooting.
Hover over any row on desktop or tap on mobile to see usage details and common causes.
| Code | Name | Description | Spec | Source |
|---|---|---|---|---|
100 | Continue | The server has received the request headers and the client should proceed to send the request body. | RFC 9110 | IANA |
101 | Switching Protocols | The server is switching protocols as requested by the client. | RFC 9110 | IANA |
102 | Processing | The server has received and is processing the request, but no response is available yet. | RFC 2518 | IANA |
103 | Early Hints | Used to return some response headers before final HTTP message. | RFC 8297 | IANA |
200 | OK | The request succeeded. | RFC 9110 | IANA |
201 | Created | The request succeeded and a new resource was created. | RFC 9110 | IANA |
202 | Accepted | The request has been received but not yet acted upon. | RFC 9110 | IANA |
203 | Non-Authoritative Information | The request was successful but the transformed metadata is not the definitive set. | RFC 9110 | IANA |
204 | No Content | The server successfully processed the request and is not returning any content. | RFC 9110 | IANA |
205 | Reset Content | The server successfully processed the request but is not returning any content and requires the requestor to reset the document view. | RFC 9110 | IANA |
206 | Partial Content | The server is delivering only part of the resource due to a range header sent by the client. | RFC 9110 | IANA |
207 | Multi-Status | The message body that follows is by default an XML message and can contain a number of separate response codes. | RFC 4918 | IANA |
208 | Already Reported | The members of a DAV binding have already been enumerated in a preceding part of the multi-status response. | RFC 5842 | IANA |
226 | IM Used | The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance. | RFC 3229 | IANA |
300 | Multiple Choices | The request has more than one possible response. | RFC 9110 | IANA |
301 | Moved Permanently | The URL of the requested resource has been changed permanently. | RFC 9110 | IANA |
302 | Found | The URL of the requested resource has been changed temporarily. | RFC 9110 | IANA |
303 | See Other | The response to the request can be found under another URI using the GET method. | RFC 9110 | IANA |
304 | Not Modified | The cached version of the requested resource is still valid. | RFC 9110 | IANA |
305 | Use Proxy | The requested resource is only available through a proxy. | RFC 9110 | IANA |
307 | Temporary Redirect | The request should be repeated with another URI, but future requests should still use the original URI. | RFC 9110 | IANA |
308 | Permanent Redirect | The request and all future requests should be repeated using another URI. | RFC 9110 | IANA |
400 | Bad Request | The server could not understand the request due to invalid syntax. | RFC 9110 | IANA |
401 | Unauthorized | The client must authenticate itself to get the requested response. | RFC 9110 | IANA |
402 | Payment Required | This response code is reserved for future use. | RFC 9110 | IANA |
403 | Forbidden | The client does not have access rights to the content. | RFC 9110 | IANA |
404 | Not Found | The server can not find the requested resource. | RFC 9110 | IANA |
405 | Method Not Allowed | The request method is known by the server but is not supported by the target resource. | RFC 9110 | IANA |
406 | Not Acceptable | The server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers. | RFC 9110 | IANA |
407 | Proxy Authentication Required | The client must first authenticate itself with a proxy. | RFC 9110 | IANA |
408 | Request Timeout | The server would like to shut down this unused connection. | RFC 9110 | IANA |
409 | Conflict | The request conflicts with the current state of the target resource. | RFC 9110 | IANA |
410 | Gone | The target resource is no longer available at the origin server. | RFC 9110 | IANA |
411 | Length Required | The server rejected the request because the Content-Length header field is not defined. | RFC 9110 | IANA |
412 | Precondition Failed | The server does not meet one of the preconditions that the requester put on the request header fields. | RFC 9110 | IANA |
413 | Payload Too Large | The request entity is larger than limits defined by the server. | RFC 9110 | IANA |
414 | URI Too Long | The URI requested by the client is longer than the server is willing to interpret. | RFC 9110 | IANA |
415 | Unsupported Media Type | The media format of the requested data is not supported by the server. | RFC 9110 | IANA |
416 | Range Not Satisfiable | The range of bytes requested by the client cannot be fulfilled. | RFC 9110 | IANA |
417 | Expectation Failed | The expectation indicated by the Expect request header field cannot be met. | RFC 9110 | IANA |
418 | I'm a teapot | The server refuses to brew coffee because it is, permanently, a teapot. | RFC 2324 | IANA |
421 | Misdirected Request | The request was directed at a server that is not able to produce a response. | RFC 9110 | IANA |
422 | Unprocessable Entity | The request was well-formed but was unable to be followed due to semantic errors. | RFC 4918 | IANA |
423 | Locked | The resource that is being accessed is locked. | RFC 4918 | IANA |
424 | Failed Dependency | The request failed because it depended on another request that failed. | RFC 4918 | IANA |
425 | Too Early | The server is unwilling to risk processing a request that might be replayed. | RFC 8470 | IANA |
426 | Upgrade Required | The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol. | RFC 9110 | IANA |
428 | Precondition Required | The origin server requires the request to be conditional. | RFC 6585 | IANA |
429 | Too Many Requests | The user has sent too many requests in a given amount of time. | RFC 6585 | IANA |
431 | Request Header Fields Too Large | The server is unwilling to process the request because its header fields are too large. | RFC 6585 | IANA |
451 | Unavailable For Legal Reasons | The server is denying access to the resource as a consequence of a legal demand. | RFC 7725 | IANA |
500 | Internal Server Error | The server has encountered a situation it doesn't know how to handle. | RFC 9110 | IANA |
501 | Not Implemented | The request method is not supported by the server and cannot be handled. | RFC 9110 | IANA |
502 | Bad Gateway | The server, while working as a gateway to get a response needed to handle the request, got an invalid response. | RFC 9110 | IANA |
503 | Service Unavailable | The server is not ready to handle the request. | RFC 9110 | IANA |
504 | Gateway Timeout | The server, while working as a gateway, could not get a response in time. | RFC 9110 | IANA |
505 | HTTP Version Not Supported | The HTTP version used in the request is not supported by the server. | RFC 9110 | IANA |
506 | Variant Also Negotiates | The server has an internal configuration error. | RFC 2295 | IANA |
507 | Insufficient Storage | The server is unable to store the representation needed to complete the request. | RFC 4918 | IANA |
508 | Loop Detected | The server detected an infinite loop while processing the request. | RFC 5842 | IANA |
510 | Not Extended | Further extensions to the request are required for the server to fulfill it. | RFC 2774 | IANA |
511 | Network Authentication Required | The client needs to authenticate to gain network access. | RFC 6585 | IANA |
444 | Connection Closed Without Response | Nginx closes the connection without sending any response to the client. | — | Nginx |
494 | Request Header Too Large | Nginx rejected the request because the request header was too large. | — | Nginx |
495 | SSL Certificate Error | Nginx client SSL certificate verification error. | — | Nginx |
496 | SSL Certificate Required | Nginx client did not provide SSL certificate. | — | Nginx |
497 | HTTP Request Sent to HTTPS Port | Nginx client sent HTTP request to HTTPS port. | — | Nginx |
499 | Client Closed Request | Nginx client closed the connection before the server could send a response. | — | Nginx |
520 | Web Server Returned an Unknown Error | The origin server returned an unexpected or unknown error. | — | Cloudflare |
521 | Web Server Is Down | The origin server refused the connection from Cloudflare. | — | Cloudflare |
522 | Connection Timed Out | Cloudflare could not negotiate a TCP handshake with the origin server. | — | Cloudflare |
523 | Origin Is Unreachable | Cloudflare could not reach the origin server. | — | Cloudflare |
524 | A Timeout Occurred | Cloudflare was able to complete a TCP connection to the origin server, but the origin server did not reply with an HTTP response before the connection timed out. | — | Cloudflare |
525 | SSL Handshake Failed | Cloudflare could not negotiate a SSL/TLS handshake with the origin server. | — | Cloudflare |
526 | Invalid SSL Certificate | Cloudflare could not validate the SSL certificate on the origin server. | — | Cloudflare |
527 | Railgun Error | Cloudflare Railgun was unable to reach the origin server. | — | Cloudflare |
528 | Connection Timed Out | Cloudflare timed out contacting the origin server. | — | Cloudflare |
529 | Resource Limit Exceeded | The origin server has exceeded its resource limits. | — | Cloudflare |
530 | Origin DNS Error | Cloudflare could not resolve the DNS for the origin server. | — | Cloudflare |
440 | Login Time-out | The client's session has expired. | — | IIS |
449 | Retry With | The request should be retried after doing the appropriate action. | — | IIS |
81 / 81 status codes