HTTP Status Codes: The Complete Reference
Every HTTP response carries a three-digit status code that tells the client how the request went. The first digit sets the class, so you can read the intent at a glance even for a code you've never seen. This is the complete, searchable list.
- 1xx — Informational: request received, continuing.
- 2xx — Success: the request was received and accepted.
- 3xx — Redirection: further action is needed to complete it.
- 4xx — Client error: the request has a problem.
- 5xx — Server error: the server failed to fulfill a valid request.
Updated 2026-07-06
| Code | Name | Meaning |
|---|---|---|
| 100 | Continue | The initial part of the request was received; the client should continue sending the body. |
| 101 | Switching Protocols | The server agrees to switch protocols as requested by the client (e.g. to WebSocket). |
| 102 | Processing | The server has received the request and is processing it, but no response is available yet (WebDAV). |
| 103 | Early Hints | Preload hints sent before the final response so the browser can start fetching resources. |
| 200 | OK | Standard success response. The meaning depends on the method (GET returns the resource, POST the result). |
| 201 | Created | The request succeeded and a new resource was created, usually returned with its location. |
| 202 | Accepted | The request was accepted for processing, but processing is not complete. |
| 203 | Non-Authoritative Information | The response is a modified version from a transforming proxy, not the origin. |
| 204 | No Content | The request succeeded but there is no content to return. |
| 205 | Reset Content | Success; the client should reset the document view (e.g. clear a form). |
| 206 | Partial Content | The server is delivering only part of the resource in response to a Range header. |
| 207 | Multi-Status | Conveys information about multiple resources for WebDAV. |
| 208 | Already Reported | Members of a WebDAV binding already enumerated are not listed again. |
| 226 | IM Used | The server fulfilled a GET and the response represents instance manipulations applied. |
| 300 | Multiple Choices | The request has more than one possible response; the client may choose one. |
| 301 | Moved Permanently | The resource has permanently moved to a new URL; update links and bookmarks. |
| 302 | Found | The resource is temporarily at a different URL; keep using the original for future requests. |
| 303 | See Other | The response can be found at another URL, to be retrieved with GET. |
| 304 | Not Modified | The cached version is still valid; the client can reuse it (conditional requests). |
| 307 | Temporary Redirect | Like 302, but the method and body must not change on the redirect. |
| 308 | Permanent Redirect | Like 301, but the method and body must not change on the redirect. |
| 400 | Bad Request | The server cannot process the request due to a client error (malformed syntax, invalid framing). |
| 401 | Unauthorized | Authentication is required and has failed or not been provided. |
| 402 | Payment Required | Reserved for future use; occasionally used by APIs to signal a billing issue. |
| 403 | Forbidden | The server understood the request but refuses to authorize it. |
| 404 | Not Found | The server cannot find the requested resource. The most familiar error. |
| 405 | Method Not Allowed | The HTTP method is not supported for this resource. |
| 406 | Not Acceptable | The resource cannot produce content matching the request's Accept headers. |
| 407 | Proxy Authentication Required | The client must authenticate with a proxy first. |
| 408 | Request Timeout | The server timed out waiting for the request. |
| 409 | Conflict | The request conflicts with the current state of the resource (e.g. an edit conflict). |
| 410 | Gone | The resource is permanently gone and no forwarding address is known. |
| 411 | Length Required | The request must specify a Content-Length header. |
| 412 | Precondition Failed | A precondition given in the request headers evaluated to false. |
| 413 | Payload Too Large | The request body is larger than the server is willing to process. |
| 414 | URI Too Long | The requested URL is longer than the server will interpret. |
| 415 | Unsupported Media Type | The request's media type is not supported by the resource. |
| 416 | Range Not Satisfiable | The requested Range cannot be fulfilled. |
| 417 | Expectation Failed | The expectation in the Expect header could not be met. |
| 418 | I'm a teapot | An April Fools' joke code (RFC 2324); the server refuses to brew coffee. |
| 421 | Misdirected Request | The request was directed at a server unable to produce a response. |
| 422 | Unprocessable Content | The request is well-formed but semantically invalid (common in APIs for validation errors). |
| 423 | Locked | The resource being accessed is locked (WebDAV). |
| 424 | Failed Dependency | The request failed because a previous request it depended on failed (WebDAV). |
| 425 | Too Early | The server is unwilling to risk processing a request that might be replayed. |
| 426 | Upgrade Required | The client should switch to a different protocol given in the Upgrade header. |
| 428 | Precondition Required | The origin requires the request to be conditional to prevent lost updates. |
| 429 | Too Many Requests | The client has sent too many requests in a given time (rate limiting). |
| 431 | Request Header Fields Too Large | The headers are too large for the server to process. |
| 451 | Unavailable For Legal Reasons | The resource is unavailable due to legal demands (censorship, takedown). |
| 500 | Internal Server Error | A generic error; the server hit an unexpected condition. The catch-all server fault. |
| 501 | Not Implemented | The server does not support the functionality required to fulfill the request. |
| 502 | Bad Gateway | A server acting as a gateway got an invalid response from the upstream server. |
| 503 | Service Unavailable | The server is temporarily unable to handle the request (overloaded or down for maintenance). |
| 504 | Gateway Timeout | A gateway server did not get a timely response from the upstream server. |
| 505 | HTTP Version Not Supported | The server does not support the HTTP version used in the request. |
| 506 | Variant Also Negotiates | A content-negotiation configuration error on the server. |
| 507 | Insufficient Storage | The server cannot store the representation needed to complete the request (WebDAV). |
| 508 | Loop Detected | The server detected an infinite loop while processing the request (WebDAV). |
| 510 | Not Extended | Further extensions to the request are required for the server to fulfill it. |
| 511 | Network Authentication Required | The client must authenticate to gain network access (captive portals). |
Related tools