HTTP status codes
✅ Display all HTTP status codes for easy reference.
Data & Reference
| HTTP Status Code | Meaning |
|---|---|
| 100 | The client should continue sending the request. This provisional response indicates that part of the request has been received and not rejected. The client should continue with the rest of the request, or ignore this response if the request is already complete. The server must send a final response once the request is fully processed. |
| 101 | The server has understood the client's request and will switch protocols as indicated by the Upgrade header. This should only be done when switching protocols provides benefits, e.g., a newer HTTP version or a real-time, synchronous protocol for specific resources. |
| 102 | WebDAV (RFC 2518) status code indicating that processing will continue. |
| 200 | The request was successful. The requested headers or body are returned with this response. |
| 201 | The request has been fulfilled, creating a new resource. The URI of the new resource is returned in the Location header. If the resource cannot be created immediately, a '202 Accepted' should be returned. |
| 202 | The server has accepted the request but has not processed it yet. This allows the server to handle asynchronous operations without keeping the client waiting. The response may include information about the current processing status and links to status monitors. |
| 203 | The request was successfully processed, but the returned metadata is from a local or third-party copy, not the original server. The information may be a subset or superset of the original metadata. |
| 204 | The request was successfully processed, but no content needs to be returned. Updated metadata may be included in headers. Browsers should not change the displayed document. |
| 205 | The request was successfully processed, and the client is instructed to reset the document view. Typically used to reset forms after submission. No message body is included. |
| 206 | The server successfully processed a partial GET request, supporting download resumption. The request must include a Range header, and the response includes Content-Range to indicate the returned range. |
| 207 | WebDAV (RFC 2518) status code indicating a multi-status XML response with multiple independent response codes. |
| 300 | The requested resource has multiple options. The response should include a list of available options unless it’s a HEAD request. Browsers may automatically select the best option depending on their capabilities. |
| 301 | The requested resource has permanently moved to a new URI. Future references should use the new URI(s) returned in the Location header. Responses may be cached unless specified otherwise. |
| 302 | The requested resource temporarily resides at a different URI. Clients should continue to use the original URI for future requests. Temporary URI is returned in the Location header. For non-GET/HEAD requests, browsers should not automatically redirect without user confirmation. Note: Many browsers treat 302 as 303 and use GET on the new URI. |
| 303 | The response to the current request can be found at another URI, and the client should use GET to access it. Primarily used for redirecting POST requests from scripts. The new URI is returned in the Location header. 303 responses must not be cached, but the redirected request may be cached. |
| 304 | Returned when a conditional GET request is allowed, but the content has not changed. 304 responses must not include a message body. Headers like Date, ETag, Content-Location, Expires, Cache-Control, or Vary may be included to update cache information. |
| 305 | The requested resource must be accessed through the proxy specified in the Location header. Only the origin server can generate a 305 response. Ignoring this can lead to security issues. |
| 306 | No longer used in the latest specifications. |
| 307 | The requested resource temporarily resides at a different URI. Clients should continue to use the original URI for future requests. Temporary URI is returned in the Location header. Non-GET/HEAD requests require user confirmation for redirection. |
| 400 | 1. Bad Request: The server cannot understand the request due to malformed syntax. 2. Invalid request parameters. |
| 401 | Unauthorized: The request requires user authentication. The response must include a WWW-Authenticate header. Clients may retry with appropriate Authorization headers. If credentials are rejected, browsers may display diagnostic information. |
| 402 | Reserved for future use. |
| 403 | Forbidden: The server understood the request but refuses to authorize it. Unlike 401, authentication will not help. The request should not be repeated. Servers may return 404 instead if they wish to hide information. |
| 404 | Not Found: The requested resource could not be found on the server. No indication whether the condition is temporary or permanent. Use 410 if the resource is permanently gone. |
| 405 | Method Not Allowed: The request method is not supported for the resource. An Allow header lists the allowed methods. |
| 406 | Not Acceptable: The requested resource cannot generate a response matching the Accept headers. The response should include options for the client to choose. |
| 407 | Proxy Authentication Required: Similar to 401, but the client must authenticate with a proxy server. The response includes Proxy-Authenticate header. |
| 408 | Request Timeout: The client did not send a request within the time the server was prepared to wait. The client may retry at any time. |
| 409 | Conflict: The request conflicts with the current state of the resource. Used when the user can resolve the conflict and resubmit. The response should include enough information to identify the conflict. |
| 410 | Gone: The requested resource is no longer available on the server and no forwarding address is known. This condition is considered permanent. 410 helps site administrators manage content and notify users that the resource is permanently unavailable. |
| 411 | Length Required: The server refuses to accept the request without a defined Content-Length header. The client can retry after providing a valid Content-Length. |
| 412 | Precondition Failed: One or more preconditions in the request header fields were not met. Allows clients to avoid applying methods to resources when conditions are unmet. |
| 413 | Payload Too Large: The request entity is larger than the server is willing or able to process. The server may close the connection. Retry-After header may indicate when the client can retry. |
| 414 | URI Too Long: The URI exceeds the server’s capacity. Causes may include GET instead of POST, redirect loops, or attempted exploits. Servers without this vulnerability should return 414. |
| 415 | Unsupported Media Type: The request entity has a media type that the server does not support for this method and resource. |
| 416 | Range Not Satisfiable: The Range specified in the request does not overlap the current resource length, and If-Range is not defined. The server must include a Content-Range header indicating the resource length. |
| 417 | Expectation Failed: The server cannot meet the requirements of the Expect request-header, or a proxy server knows the next node cannot meet it. |
| 421 | Misdirected Request: Too many connections from the client’s IP address. The server counts connections per client IP, which may involve multiple users behind a gateway or proxy. |
| 422 | Unprocessable Entity: The request is syntactically correct but semantically erroneous (WebDAV RFC 4918). 423 Locked: The resource is locked (WebDAV RFC 4918). |
| 424 | Failed Dependency: The request failed because a previous request failed, e.g., PROPPATCH (WebDAV RFC 4918). |
| 425 | Defined in WebDAV Advanced Collections draft but not in WebDAV Ordered Collections (RFC 3658). |
| 426 | Upgrade Required: The client should switch to TLS/1.0 (RFC 2817). |
| 449 | Microsoft extension: The request should be retried after performing the appropriate action. |
| 500 | Internal Server Error: The server encountered an unexpected condition preventing it from fulfilling the request. Usually caused by server program errors. |
| 501 | Not Implemented: The server does not support the functionality required to fulfill the request, e.g., unrecognized method. |
| 502 | Bad Gateway: A server acting as a gateway or proxy received an invalid response from an upstream server. |
| 503 | Service Unavailable: The server is temporarily unable to handle the request due to maintenance or overload. Retry-After header may indicate when to retry. |
| 504 | Gateway Timeout: A server acting as a gateway or proxy did not receive a timely response from an upstream server or auxiliary service (e.g., DNS). |
| 505 | HTTP Version Not Supported: The server does not support or refuses to support the HTTP version in the request. The response should explain which versions are supported. |
| 506 | Variant Also Negotiates: The server has an internal configuration error. The requested variant resource is configured to engage in transparent content negotiation with itself (RFC 2295). |
| 507 | Insufficient Storage: The server cannot store the content required to complete the request. Considered a temporary condition (WebDAV RFC 4918). |
| 509 | Bandwidth Limit Exceeded: Not an official status code, but widely used. |
| 510 | Not Extended: The policy required to access the resource has not been met (RFC 2774). |