Where is it used?
Use it to describe response states consistently in API docs, incident reports, server logs, and crawl diagnostics.
Web & Protocol
A quick reference for web response status codes and what each code means in practice.
Core concept
HTTP status codes are standard signals that browsers, API clients, and search engines use to interpret server responses.
1xx responses are informational, 2xx means success, 3xx means redirection, 4xx indicates client-side/request-side issues, and 5xx indicates server-side problems. Reading the first digit narrows the cause and next action quickly.
Operationally similar error pages can mean very different things. 404 means a resource was not found, 410 means it is gone, 429 means requests are rate limited, and 500 means an internal server error occurred.
For SEO, redirects and removal signals matter most. 301/308 indicate long-term moves, 302/307 temporary moves, and 404/410 can affect indexing and recrawl decisions.
Use it to describe response states consistently in API docs, incident reports, server logs, and crawl diagnostics.
Start with the leading digit, then check the individual code, usage timing, and related codes.
Redirect, removal, access-limit, and server-error signals influence how search engines keep or revisit URLs.
Each row combines code, reason phrase, status class, operational meaning, and RFC/IANA reference.
This reference helps operational diagnosis; actual server behavior still depends on application routing and cache layers.
TABLE
| 100 | Continue | 1xx | The request headers were received, and the client may continue sending the request body. | RFC 9110 |
| 101 | Switching Protocols | 1xx | The server accepted the protocol switch requested by the client. | RFC 9110 |
| 102 | Processing | 1xx | The request was received and is still being processed, but the final response is not ready yet. | RFC 2518 |
| 103 | Early Hints | 1xx | The server sends hints such as preload links before the final response so the browser can start preparing resources. | RFC 8297 |
| 104 | Upload Resumption Supported | 1xx | A temporary registered status code indicating support for upload resumption. | IANA temporary registration |
| 200 | OK | 2xx | The request succeeded, and the response body contains the result. | RFC 9110 |
| 201 | Created | 2xx | The request succeeded and a new resource was created. | RFC 9110 |
| 202 | Accepted | 2xx | The request was accepted, but processing has not completed yet. | RFC 9110 |
| 203 | Non-Authoritative Information | 2xx | A proxy or transformation layer modified and forwarded the origin server's 200 response. | RFC 9110 |
| 204 | No Content | 2xx | The request succeeded, but the response has no body. | RFC 9110 |
| 205 | Reset Content | 2xx | The request succeeded, and the client may reset the input view. | RFC 9110 |
| 206 | Partial Content | 2xx | Only part of the resource is returned in response to a Range request. | RFC 9110 |
| 207 | Multi-Status | 2xx | A WebDAV response carrying statuses for multiple sub-operations in one request. | RFC 4918 |
| 208 | Already Reported | 2xx | Indicates that a WebDAV binding resource has already been reported and is not repeated. | RFC 5842 |
| 226 | IM Used | 2xx | The server returned a result after applying an instance manipulation (IM). | RFC 3229 |
| 300 | Multiple Choices | 3xx | The requested resource has multiple representations or choices. | RFC 9110 |
| 301 | Moved Permanently | 3xx | The resource has moved permanently to a new URL. | RFC 9110 |
| 302 | Found | 3xx | The resource is temporarily available at another URL. | RFC 9110 |
| 303 | See Other | 3xx | The result of the request should be retrieved with GET from another URL. | RFC 9110 |
| 304 | Not Modified | 3xx | A conditional request found that the resource has not changed, so the cached copy can be used. | RFC 9110 |
| 305 | Use Proxy | 3xx | A legacy status code instructing the client to use a proxy; it is now deprecated for security reasons. | RFC 9110 |
| 306 | Unused | 3xx | A status code that was defined in the past but is now reserved and unused. | RFC 9110 |
| 307 | Temporary Redirect | 3xx | A temporary redirect that must preserve the request method and body. | RFC 9110 |
| 308 | Permanent Redirect | 3xx | A permanent redirect that must preserve the request method and body. | RFC 9110 |
| 400 | Bad Request | 4xx | The server cannot process the request because the syntax, parameters, headers, or body are invalid. | RFC 9110 |
| 401 | Unauthorized | 4xx | Authentication is required or the provided credentials are invalid. | RFC 9110 |
| 402 | Payment Required | 4xx | Reserved for payment-required scenarios, but its standard meaning is not widely established. | RFC 9110 |
| 403 | Forbidden | 4xx | The server understood the request but refuses to allow access. | RFC 9110 |
| 404 | Not Found | 4xx | The requested resource cannot be found, or the server is not revealing whether it exists. | RFC 9110 |
| 405 | Method Not Allowed | 4xx | The resource exists, but the requested HTTP method is not allowed. | RFC 9110 |
| 406 | Not Acceptable | 4xx | The server cannot provide a representation matching the client's Accept headers. | RFC 9110 |
| 407 | Proxy Authentication Required | 4xx | Authentication is required before the client can use the proxy. | RFC 9110 |
| 408 | Request Timeout | 4xx | The server did not receive the complete client request within the time it was willing to wait. | RFC 9110 |
| 409 | Conflict | 4xx | The request conflicts with the current state of the resource. | RFC 9110 |
| 410 | Gone | 4xx | The resource existed in the past but has been permanently removed. | RFC 9110 |
| 411 | Length Required | 4xx | The server rejects the request because it does not include Content-Length. | RFC 9110 |
| 412 | Precondition Failed | 4xx | A precondition in a conditional request, such as If-Match, failed. | RFC 9110 |
| 413 | Content Too Large | 4xx | The request body is larger than the server is willing to accept. | RFC 9110 |
| 414 | URI Too Long | 4xx | The request URI is longer than the server can process. | RFC 9110 |
| 415 | Unsupported Media Type | 4xx | The server does not support the media type of the request body. | RFC 9110 |
| 416 | Range Not Satisfiable | 4xx | The requested Range cannot be served because it does not fit the resource size. | RFC 9110 |
| 417 | Expectation Failed | 4xx | The server cannot satisfy the expectation given in the Expect header. | RFC 9110 |
| 418 | I'm a teapot | 4xx | A code originating from an April Fools' RFC, mainly with historical and cultural meaning rather than practical error handling. | RFC 2324 / RFC 9110 |
| 421 | Misdirected Request | 4xx | The request was sent to a server that cannot produce a response for it. | RFC 9110 |
| 422 | Unprocessable Content | 4xx | The request syntax is valid, but the content is semantically unprocessable. | RFC 9110 |
| 423 | Locked | 4xx | The target resource is locked, so the request cannot be processed. | RFC 4918 |
| 424 | Failed Dependency | 4xx | The current request cannot be performed because a previous dependent operation failed. | RFC 4918 |
| 425 | Too Early | 4xx | The server refuses to process a request that may be too early and risky to replay. | RFC 8470 |
| 426 | Upgrade Required | 4xx | The server requires the client to upgrade protocols before it will handle the request. | RFC 9110 |
| 428 | Precondition Required | 4xx | The server requires a conditional request header. | RFC 6585 |
| 429 | Too Many Requests | 4xx | The client sent too many requests within a given time period. | RFC 6585 |
| 431 | Request Header Fields Too Large | 4xx | The overall request headers or a specific header field are too large. | RFC 6585 |
| 451 | Unavailable For Legal Reasons | 4xx | The resource cannot be provided for legal reasons. | RFC 7725 |
| 500 | Internal Server Error | 5xx | A general server error indicating that the request could not be handled because of an internal failure. | RFC 9110 |
| 501 | Not Implemented | 5xx | The server does not support the functionality required to handle the request. | RFC 9110 |
| 502 | Bad Gateway | 5xx | A gateway or proxy received an invalid response from an upstream server. | RFC 9110 |
| 503 | Service Unavailable | 5xx | The server is temporarily unable to handle the request. | RFC 9110 |
| 504 | Gateway Timeout | 5xx | A gateway or proxy did not receive a timely response from an upstream server. | RFC 9110 |
| 505 | HTTP Version Not Supported | 5xx | The server does not support the HTTP version used in the request. | RFC 9110 |
| 506 | Variant Also Negotiates | 5xx | A transparent content negotiation configuration error caused an internal negotiation loop. | RFC 2295 |
| 507 | Insufficient Storage | 5xx | The server cannot allocate the storage needed to complete the request. | RFC 4918 |
| 508 | Loop Detected | 5xx | The server detected an infinite loop while processing the request. | RFC 5842 |
| 510 | Not Extended | 5xx | Additional extensions are required for the request to be processed. | RFC 2774 |
| 511 | Network Authentication Required | 5xx | Authentication is required to gain network access. | RFC 6585 |
No rows match the current filters.