IANA · RFC 9110
HTTP Status Codes
N° 62 entries · updated 2026-07-18 · click any code to copy
Every HTTP response begins with a three-digit status code. This ledger lists the complete IANA registry — informational, success, redirection, client-error and server-error classes — each with its official name, the RFC that defines it, and a plain-English explanation of what it actually means in practice.
| Code | Name | What it means | Reference |
|---|---|---|---|
| 1×× Informational | |||
| Continue | The server received the request headers; the client should proceed to send the body. | RFC9110 | |
| Switching Protocols | The server agrees to switch protocols as requested via the Upgrade header. | RFC9110 | |
| Processing | The server has received the request and is processing it, but no response is available yet (WebDAV). | RFC2518 | |
| Early Hints | Preliminary hints (e.g. Link headers) sent before the final response so the browser can preload assets. | RFC8297 | |
| Upload Resumption Supported (TEMPORARY - registered 2024-11-13, extension registered 2025-09-15, expires 2026-11-13) | draft-ietf-httpbis-resumable-upload-05 | ||
| 2×× Success | |||
| OK | The request succeeded. The standard response for successful HTTP requests. | RFC9110 | |
| Created | The request succeeded and a new resource was created, typically after POST or PUT. | RFC9110 | |
| Accepted | The request was accepted for processing, but processing has not been completed. | RFC9110 | |
| Non-Authoritative Information | The response was modified by a transforming proxy from the origin server's 200 response. | RFC9110 | |
| No Content | The request succeeded but there is no content to return. | RFC9110 | |
| Reset Content | The request succeeded; the client should reset the document view (e.g. clear a form). | RFC9110 | |
| Partial Content | The server is delivering only part of the resource due to a Range header (used for downloads and streaming). | RFC9110 | |
| Multi-Status | Multiple status values for multiple independent operations (WebDAV). | RFC4918 | |
| Already Reported | Members of a DAV binding were already enumerated earlier in the response (WebDAV). | RFC5842 | |
| IM Used | The server fulfilled a GET request using instance manipulations (delta encoding). | RFC3229 | |
| 3×× Redirection | |||
| Multiple Choices | Multiple options for the resource exist; the client may choose one. | RFC9110 | |
| Moved Permanently | The resource has moved permanently to a new URL. Browsers and search engines update their references. | RFC9110 | |
| Found | The resource temporarily resides at a different URL. The original URL should keep being used. | RFC9110 | |
| See Other | The response is available at a different URL and should be fetched with GET (typical after form POSTs). | RFC9110 | |
| Not Modified | The cached version is still valid; the resource has not been modified since the last request. | RFC9110 | |
| Use Proxy | Deprecated. The resource must be accessed through a proxy. | RFC9110 | |
| Temporary Redirect | Temporary redirect that preserves the request method and body. | RFC9110 | |
| Permanent Redirect | Permanent redirect that preserves the request method and body. | RFC9110 | |
| 4×× Client Error | |||
| Bad Request | The server cannot process the request due to a client error such as malformed syntax. | RFC9110 | |
| Unauthorized | Authentication is required and has failed or has not been provided. | RFC9110 | |
| Payment Required | Reserved for future use; occasionally used by payment-related APIs. | RFC9110 | |
| Forbidden | The server understood the request but refuses to authorize it. | RFC9110 | |
| Not Found | The requested resource could not be found on the server. The most famous status code of all. | RFC9110 | |
| Method Not Allowed | The HTTP method used is not allowed for this resource. | RFC9110 | |
| Not Acceptable | No content matching the request's Accept headers is available. | RFC9110 | |
| Proxy Authentication Required | Authentication with an intermediate proxy is required first. | RFC9110 | |
| Request Timeout | The server timed out waiting for the request. | RFC9110 | |
| Conflict | The request conflicts with the current state of the resource (e.g. an edit conflict). | RFC9110 | |
| Gone | The resource is permanently gone and no forwarding address is known. | RFC9110 | |
| Length Required | A Content-Length header is required and was not provided. | RFC9110 | |
| Precondition Failed | A precondition in the request headers (If-Match etc.) evaluated to false. | RFC9110 | |
| Content Too Large | The request body is larger than the server is willing to process. | RFC9110 | |
| URI Too Long | The request URI is longer than the server is willing to interpret. | RFC9110 | |
| Unsupported Media Type | The media type of the request body is not supported. | RFC9110 | |
| Range Not Satisfiable | The requested byte range cannot be satisfied. | RFC9110 | |
| Expectation Failed | The expectation in the Expect header could not be met. | RFC9110 | |
| Misdirected Request | The request was directed at a server unable to produce a response (e.g. wrong TLS SNI). | RFC9110 | |
| Unprocessable Content | The request is well-formed but semantically invalid and cannot be processed. | RFC9110 | |
| Locked | The resource is locked (WebDAV). | RFC4918 | |
| Failed Dependency | The request failed because a previous dependent request failed (WebDAV). | RFC4918 | |
| Too Early | The server is unwilling to process a request that might be replayed (early TLS data). | RFC8470 | |
| Upgrade Required | The client must upgrade to a different protocol to continue. | RFC9110 | |
| Precondition Required | The server requires the request to be conditional to prevent lost updates. | RFC6585 | |
| Too Many Requests | The client has sent too many requests in a given time — rate limiting. | RFC6585 | |
| Request Header Fields Too Large | Request header fields are too large for the server to process. | RFC6585 | |
| Unavailable For Legal Reasons | The resource is unavailable for legal reasons (censorship, court orders, GDPR blocks). | RFC7725 | |
| 5×× Server Error | |||
| Internal Server Error | A generic server-side error; something went wrong and no more specific message applies. | RFC9110 | |
| Not Implemented | The server does not support the functionality required to fulfil the request. | RFC9110 | |
| Bad Gateway | A gateway or proxy received an invalid response from the upstream server. | RFC9110 | |
| Service Unavailable | The server is temporarily unavailable — overloaded or down for maintenance. | RFC9110 | |
| Gateway Timeout | A gateway or proxy did not receive a timely response from the upstream server. | RFC9110 | |
| HTTP Version Not Supported | The HTTP protocol version used in the request is not supported. | RFC9110 | |
| Variant Also Negotiates | The server has a circular content-negotiation configuration error. | RFC2295 | |
| Insufficient Storage | The server has insufficient storage to complete the request (WebDAV). | RFC4918 | |
| Loop Detected | The server detected an infinite loop while processing the request (WebDAV). | RFC5842 | |
| Not Extended (OBSOLETED) | Further extensions to the request are required for the server to fulfil it. | RFC2774][Status change of HTTP experiments to Historic | |
| Network Authentication Required | Network authentication is required — typically a captive portal (hotel/airport Wi-Fi). | RFC6585 | |
Source: IANA HTTP Status Code Registry · RFC 9110 and related RFCs.