HTTP response codes are three-digit numbers generated by a server to respond to a browser’s request. The Internet Assigned Numbers Authority (IANA) maintains the official registry of all statuses.
The first digit defines the status code’s category, which begins with a number between one and five. For example, 1XX shows informational responses, while 5XX displays server error alerts.
On the other hand, the last two are assigned for specific information under a given classification. For example, 404 indicates that the server can’t find the requested resource.
HTTP defines request methods to indicate the desired action for a resource. Each implements a different semantic, but they have some common features, such as safe, idempotent, and cacheable. Here is the list:
HTTP status codes have five categories based on the server responses sent to the browser:
Here is the complete list of HTTP status codes:
Status code | Functions |
1XX Informational | |
100 | Continue |
101 | Switching Protocols |
102 | Processing |
103 | Early Hints |
2XX Successful | |
200 | OK |
201 | Created |
202 | Accepted |
203 | Non-Authoritative Information |
204 | No Content |
205 | Reset Content |
206 | Partial Content |
207 | Multi-Status |
208 | Already Reported |
226 | IM Used |
3XX Redirection | |
300 | Multiple Choices |
301 | Moved Permanently |
302 | Found (Previously: Moved Temporarily) |
303 | See Other |
304 | Not Modified |
305 (Unused) | Previously: Use Proxy |
306 (Unused) | Previously: Switch Proxy |
307 | Temporary Redirect |
308 | Permanent Redirect |
4XX Client Error | |
400 | Bad Request |
401 | Unauthorized |
402 | Payment Required |
403 | Forbidden |
404 | Not Found |
405 | Method Not Allowed |
406 | Not Acceptable |
407 | Proxy Authentication Required |
408 | Request Timeout |
409 | Conflict |
410 | Gone |
411 | Length Required |
412 | Precondition Failed |
413 | Payload Too Large |
414 | URI Too Long |
415 | Unsupported Media Type |
416 | Range Not Satisfiable |
417 | Expectation Failed |
418 (Unused) | Previously: I’m a Teapot |
421 | Misdirected Request |
422 | Unprocessable Entity |
423 | Locked |
424 | Failed Dependency |
425 | Too Early |
426 | Upgrade Required |
428 | Precondition Required |
429 | Too Many Requests |
431 | Request Header Fields Too Large |
451 | Unavailable for Legal Reasons |
5XX Server Error | |
500 | Internal Server Error |
501 | Not Implemented |
502 | Bad Gateway |
503 | Service Unavailable |
504 | Gateway Timeout |
505 | HTTP Version Not Supported |
506 | Variant Also Negotiates |
507 | Insufficient Storage |
508 | Loop Detected |
510 (Unused) | Not Extended |
511 | Network Authentication Required |