The knowledge combined here comes from RFCs, mailing lists, bug reports, code repositories, Q&A forums, hard-won life experiences, and personal judgments (as opposed to copying and pasting RFCs without any value add).
Guides are written from the developer/webmaster perspective.
These status codes indicate the request was received while processing still continues.
These status codes indicate the request was successfully understood and accepted by the server.
- HTTP 200 - OK
- HTTP 201 - Created
- HTTP 202 - Accepted
- HTTP 203 - Non-Authoritative Information
- HTTP 204 - No Content
- HTTP 205 - Reset Content
- HTTP 206 - Partial Content
These status codes indicate the client should take an additional step to complete the request.
- HTTP 300 - Multiple Choices
- HTTP 301 - Moved Permanently
- HTTP 302 - Found
- HTTP 303 - See Other
- HTTP 304 - Not Modified
- HTTP 307 - Temporary Redirect
- HTTP 308 - Permanent Redirect
Client errors (4xx)
These status codes are reserved for cases when the error is caused by the client.
- HTTP 400 - Bad Request
- HTTP 401 - Unauthorized
- HTTP 402 - Payment Required
- HTTP 403 - Forbidden
- HTTP 404 - Not Found
- HTTP 405 - Method Not Allowed
- HTTP 406 - Not Acceptable
- HTTP 407 - Proxy Authentication Required
- HTTP 408 - Request Timeout
- HTTP 409 - Conflict
- HTTP 410 - Gone
- HTTP 411 - Length Required
- HTTP 412 - Precondition Failed
- HTTP 413 - Request Entity Too Large
- HTTP 414 - Request URI Too Long
- HTTP 415 - Unsupported Media Type
- HTTP 416 - Range Not Satisfiable
- HTTP 417 - Expectation Failed
- HTTP 418 - I’m a Teapot
- HTTP 421 - Misdirected Request
- HTTP 422 - Unprocessable Entity
- HTTP 425 - Too Early
- HTTP 426 - Upgrade Required
- HTTP 428 - Precondition Required
- HTTP 429 - Too Many Requests
- HTTP 431 - Request Header Fields Too Large
- HTTP 451 - Unavailable For Legal Reasons
Server errors (5xx)
These status codes are reserved for cases when the problem originates from the server.