HTTP status codes are three-digit numbers a server returns with every response to tell the client how the request went. The first digit sets the class, from 1xx informational up to 5xx server errors. This is the complete, current list, grouped and explained in plain English.
2xx SuccessThe request was successfully received, understood, and accepted.
3xx RedirectionFurther action is needed to complete the request.
4xx Client ErrorThe request has bad syntax or cannot be fulfilled by the client.
5xx Server ErrorThe server failed to fulfil a valid request.
1xx Informational Status Codes
The request was received and the process is continuing.
| Code | Name | Meaning |
|---|---|---|
| 100 | Continue | Keep going; the server received the request headers and the client should send the body. |
| 101 | Switching Protocols | The server agrees to switch protocols, such as upgrading to WebSocket. |
| 102 | Processing | The server has accepted the request but has not finished it (WebDAV). |
| 103 | Early Hints | Lets the client start preloading resources while the server prepares the response. |
2xx Success Status Codes
The request was successfully received, understood, and accepted.
| Code | Name | Meaning |
|---|---|---|
| 200 | OKcommon | Standard success. The response body contains the requested resource. |
| 201 | Created | The request succeeded and a new resource was created. |
| 202 | Accepted | The request was accepted for processing, but is not finished yet. |
| 203 | Non-Authoritative Information | Returned metadata came from a copy, not the origin server. |
| 204 | No Content | Success, but there is no body to return. |
| 205 | Reset Content | Success; the client should reset the form or view that sent the request. |
| 206 | Partial Content | Only part of the resource is returned, in response to a Range request. |
| 207 | Multi-Status | Conveys multiple status codes for several operations (WebDAV). |
| 208 | Already Reported | Members of a binding were already enumerated (WebDAV). |
| 226 | IM Used | The response is the result of instance manipulations applied to the resource. |
3xx Redirection Status Codes
Further action is needed to complete the request.
| Code | Name | Meaning |
|---|---|---|
| 300 | Multiple Choices | The resource has several representations; the client should choose one. |
| 301 | Moved Permanentlycommon | The resource has a new permanent URL. Update your links. |
| 302 | Foundcommon | The resource is temporarily at a different URL. |
| 303 | See Other | Get the resource from another URL using GET. |
| 304 | Not Modifiedcommon | The cached copy is still fresh; no need to re-download. |
| 305 | Use Proxy | The resource must be accessed through a proxy (deprecated). |
| 307 | Temporary Redirect | Like 302, but the method must not change. |
| 308 | Permanent Redirect | Like 301, but the method must not change. |
4xx Client Error Status Codes
The request has bad syntax or cannot be fulfilled by the client.
| Code | Name | Meaning |
|---|---|---|
| 400 | Bad Request | The server cannot understand the request due to bad syntax. |
| 401 | Unauthorizedcommon | Authentication is required and has failed or not been provided. |
| 402 | Payment Required | Reserved for future use; sometimes used by paid APIs. |
| 403 | Forbiddencommon | The server understood but refuses to authorize the request. |
| 404 | Not Foundcommon | The server cannot find the requested resource. |
| 405 | Method Not Allowed | The HTTP method is not supported for this resource. |
| 406 | Not Acceptable | No content matches the criteria in the Accept headers. |
| 407 | Proxy Authentication Required | You must authenticate with the 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. |
| 410 | Gone | The resource is permanently gone and will not return. |
| 411 | Length Required | The request must include a Content-Length header. |
| 412 | Precondition Failed | A precondition in the request headers was not met. |
| 413 | Payload Too Large | The request body is larger than the server will accept. |
| 414 | URI Too Long | The requested URL is longer than the server will interpret. |
| 415 | Unsupported Media Type | The body format is not supported by the resource. |
| 416 | Range Not Satisfiable | The requested Range cannot be served. |
| 417 | Expectation Failed | The Expect request header cannot be met. |
| 418 | I’m a Teapot | An April Fools joke from RFC 2324; the server refuses to brew coffee. |
| 421 | Misdirected Request | The request was sent to a server that cannot produce a response. |
| 422 | Unprocessable Content | The request was well formed but has semantic errors. |
| 423 | Locked | The resource is locked (WebDAV). |
| 424 | Failed Dependency | The request failed because a previous request failed (WebDAV). |
| 425 | Too Early | The server is unwilling to risk processing a replayed request. |
| 426 | Upgrade Required | The client should switch to a different protocol. |
| 428 | Precondition Required | The server requires the request to be conditional. |
| 429 | Too Many Requestscommon | The client has sent too many requests in a given time (rate limited). |
| 431 | Request Header Fields Too Large | The headers are too large to process. |
| 451 | Unavailable For Legal Reasons | The resource is blocked for legal reasons. |
5xx Server Error Status Codes
The server failed to fulfil a valid request.
| Code | Name | Meaning |
|---|---|---|
| 500 | Internal Server Errorcommon | A generic server error with no more specific message. |
| 501 | Not Implemented | The server does not support the functionality required. |
| 502 | Bad Gatewaycommon | A gateway or proxy got an invalid response from upstream. |
| 503 | Service Unavailablecommon | The server is overloaded or down for maintenance. |
| 504 | Gateway Timeout | A gateway or proxy did not get a response in time. |
| 505 | HTTP Version Not Supported | The HTTP version in the request is not supported. |
| 506 | Variant Also Negotiates | A content negotiation configuration error. |
| 507 | Insufficient Storage | The server cannot store what is needed to finish (WebDAV). |
| 508 | Loop Detected | The server detected an infinite loop (WebDAV). |
| 510 | Not Extended | Further extensions to the request are required. |
| 511 | Network Authentication Required | You must authenticate to gain network access (captive portals). |
Frequently Asked Questions
What does each HTTP status code class mean?
The first digit is the class: 1xx is informational, 2xx is success, 3xx is redirection, 4xx is a client error, and 5xx is a server error.
What is the difference between 301 and 302?
A 301 is a permanent redirect, so search engines pass ranking to the new URL. A 302 is temporary and keeps the original URL indexed.
What does a 404 mean?
A 404 Not Found means the server could not find the requested resource at that URL. It is a client-side result, often a broken or mistyped link.
What is a 429 status code?
A 429 Too Many Requests means you have been rate limited. Slow down and retry after the time given in the Retry-After header.
What is the difference between 502 and 504?
A 502 Bad Gateway means a proxy got an invalid response from upstream. A 504 Gateway Timeout means the upstream server did not respond in time.
Are these status codes the same for every website?
Yes. HTTP status codes are a web standard defined by the IETF, so they mean the same thing across servers, browsers, and APIs.
Working with HTTP and URLs? Try our free, browser-based URL Encode and Decode and other developer tools.