HTTP Status Code Guides
Human-readable explanations of HTTP status codes — what each one means, why it happens, and how to resolve it. IANA HTTP status code definitions are grounded in the IANA registry and IETF RFC specifications. Platform and browser/network error guides cite vendor and client documentation (Cloudflare, Nginx, Chromium).
1xx Informational
Informational responses (100–199) indicate that the server has received the request and the client should continue. These are interim responses used primarily in protocol negotiation.
- HTTP 100 Continue — HTTP 100 Continue indicates a informational response outcome.
- HTTP 101 Switching Protocols — HTTP 101 Switching Protocols indicates a informational response outcome.
- HTTP 102 Processing — HTTP 102 Processing indicates a informational response outcome.
- HTTP 103 Early Hints — HTTP 103 Early Hints indicates a informational response outcome.
- HTTP 104 Upload Resumption Supported — HTTP 104 Upload Resumption Supported indicates a informational response outcome.
2xx Success
Success responses (200–299) indicate the request was received, understood, and accepted. The specific code tells the client how to interpret the response body and what action, if any, was taken.
- HTTP 200 OK — HTTP 200 OK is the standard success response. The request was received, understood, and fulfilled.
- HTTP 201 Created — HTTP 201 Created indicates the request succeeded and a new resource was created as a result.
- HTTP 202 Accepted — HTTP 202 Accepted indicates a success response outcome.
- HTTP 203 Non-Authoritative Information — HTTP 203 Non-Authoritative Information indicates a success response outcome.
- HTTP 204 No Content — HTTP 204 No Content indicates the request succeeded but there is no content to return.
- HTTP 205 Reset Content — HTTP 205 Reset Content indicates a success response outcome.
- HTTP 206 Partial Content — HTTP 206 Partial Content indicates a success response outcome.
- HTTP 207 Multi-Status — HTTP 207 Multi-Status indicates a success response outcome.
- HTTP 208 Already Reported — HTTP 208 Already Reported indicates a success response outcome.
- HTTP 226 IM Used — HTTP 226 IM Used indicates a success response outcome.
3xx Redirect Codes
Redirection responses (300–399) indicate the client must take additional action to complete the request. The choice between permanent and temporary, and between method-preserving and non-preserving redirects, has real implications for SEO, caching, and client behavior.
- HTTP 300 Multiple Choices — HTTP 300 Multiple Choices indicates a redirection response outcome.
- HTTP 301 Moved Permanently — HTTP 301 Moved Permanently tells clients and search engines that a resource has permanently moved to a new URL.
- HTTP 302 Found — HTTP 302 Found signals a temporary redirect. The original URL remains valid and should not be updated by clients.
- HTTP 303 See Other — HTTP 303 See Other redirects the client to retrieve the response from a different URL using GET, regardless of the original method.
- HTTP 304 Not Modified — HTTP 304 Not Modified tells the client its cached version is still current — no body is sent.
- HTTP 305 Use Proxy — HTTP 305 Use Proxy indicates a redirection response outcome.
- HTTP 308 Permanent Redirect — HTTP 308 Permanent Redirect is a permanent redirect that preserves the HTTP method — the method-safe alternative to 301.
4xx Client Errors
Client error responses (400–499) indicate the server cannot process the request due to a problem on the client side — malformed syntax, missing authentication, insufficient permissions, or missing resources.
- HTTP 400 Bad Request — HTTP 400 Bad Request means the server cannot process the request due to malformed syntax or invalid input.
- HTTP 401 Unauthorized — HTTP 401 Unauthorized means authentication is required and has either not been provided or has failed.
- HTTP 402 Payment Required — HTTP 402 Payment Required indicates a client errors response outcome.
- HTTP 403 Forbidden — HTTP 403 Forbidden means the server understood the request but refuses to authorize it.
- HTTP 404 Not Found — HTTP 404 Not Found is the most recognized HTTP error — the requested resource does not exist at this URL.
- HTTP 405 Method Not Allowed — HTTP 405 Method Not Allowed means the request method is not supported for the target resource.
- HTTP 406 Not Acceptable — HTTP 406 Not Acceptable indicates a client errors response outcome.
- HTTP 407 Proxy Authentication Required — HTTP 407 Proxy Authentication Required indicates a client errors response outcome.
- HTTP 408 Request Timeout — HTTP 408 Request Timeout means the server timed out waiting for the client to send a complete request.
- HTTP 409 Conflict — HTTP 409 Conflict means the request conflicts with the current state of the resource.
- HTTP 410 Gone — HTTP 410 Gone permanently signals that a resource has been intentionally removed and will not return.
- HTTP 411 Length Required — HTTP 411 Length Required indicates a client errors response outcome.
- HTTP 412 Precondition Failed — HTTP 412 Precondition Failed indicates a client errors response outcome.
- HTTP 413 Content Too Large — HTTP 413 Content Too Large indicates a client errors response outcome.
- HTTP 414 URI Too Long — HTTP 414 URI Too Long indicates a client errors response outcome.
- HTTP 415 Unsupported Media Type — HTTP 415 Unsupported Media Type indicates a client errors response outcome.
- HTTP 416 Range Not Satisfiable — HTTP 416 Range Not Satisfiable indicates a client errors response outcome.
- HTTP 417 Expectation Failed — HTTP 417 Expectation Failed indicates a client errors response outcome.
- HTTP 421 Misdirected Request — HTTP 421 Misdirected Request indicates a client errors response outcome.
- HTTP 422 Unprocessable Content — HTTP 422 Unprocessable Entity means the request is syntactically valid but semantically invalid.
- HTTP 423 Locked — HTTP 423 Locked indicates a client errors response outcome.
- HTTP 424 Failed Dependency — HTTP 424 Failed Dependency indicates a client errors response outcome.
- HTTP 425 Too Early — HTTP 425 Too Early indicates a client errors response outcome.
- HTTP 426 Upgrade Required — HTTP 426 Upgrade Required indicates a client errors response outcome.
- HTTP 428 Precondition Required — HTTP 428 Precondition Required indicates a client errors response outcome.
- HTTP 429 Too Many Requests — HTTP 429 Too Many Requests means the client has exceeded the rate limit for this endpoint.
- HTTP 431 Request Header Fields Too Large — HTTP 431 Request Header Fields Too Large indicates a client errors response outcome.
- HTTP 451 Unavailable For Legal Reasons — HTTP 451 Unavailable For Legal Reasons indicates the resource is blocked due to a legal demand.
5xx Server Errors
Server error responses (500–599) indicate the server failed to fulfill a valid request. These are almost always actionable on the server side and should be monitored in production.
- HTTP 500 Internal Server Error — HTTP 500 Internal Server Error is the generic catch-all for server-side failures.
- HTTP 501 Not Implemented — HTTP 501 Not Implemented means the server does not support the functionality required to fulfill the request.
- HTTP 502 Bad Gateway — HTTP 502 Bad Gateway means a server acting as a gateway received an invalid response from an upstream server.
- HTTP 503 Service Unavailable — HTTP 503 Service Unavailable means the server is temporarily unable to handle the request, typically due to overload or maintenance.
- HTTP 504 Gateway Timeout — HTTP 504 Gateway Timeout means a proxy or gateway timed out waiting for a response from an upstream server.
- HTTP 505 HTTP Version Not Supported — HTTP 505 HTTP Version Not Supported indicates a server errors response outcome.
- HTTP 506 Variant Also Negotiates — HTTP 506 Variant Also Negotiates indicates a server errors response outcome.
- HTTP 507 Insufficient Storage — HTTP 507 Insufficient Storage indicates a server errors response outcome.
- HTTP 508 Loop Detected — HTTP 508 Loop Detected indicates a server errors response outcome.
- HTTP 510 Not Extended — HTTP 510 Not Extended indicates a server errors response outcome.
- HTTP 511 Network Authentication Required — HTTP 511 Network Authentication Required indicates a server errors response outcome.
Platform-specific & Network Errors
Non-IANA codes and browser/network failure signals used by Cloudflare, Nginx, and browsers. These appear in production logs and browser DevTools during outages, CDN misconfigurations, and TLS failures.
Cloudflare edge / proxy errors
- Cloudflare 520 — Unknown Error — origin returned an unexpected or unparseable response
- Cloudflare 521 — Web Server Is Down — origin actively refused the TCP connection
- Cloudflare 522 — Connection Timed Out — TCP handshake to origin timed out
- Cloudflare 523 — Origin Is Unreachable — origin IP or hostname not reachable from Cloudflare
- Cloudflare 524 — A Timeout Occurred — origin connected but took too long to respond
- Cloudflare 525 — SSL Handshake Failed — TLS negotiation between Cloudflare and origin failed
- Cloudflare 526 — Invalid SSL Certificate — origin certificate failed validation (Full Strict mode)
- Cloudflare 530 — Origin DNS Error — Cloudflare cannot resolve origin hostname
Nginx non-standard log codes
- Nginx 444 — No Response — Nginx closes connection with no HTTP response (intentional block)
- Nginx 499 — Client Closed Request — client disconnected before Nginx/upstream finished responding
Browser, DNS, and TLS errors
- ERR_CONNECTION_REFUSED — server port not listening or firewall rejected connection
- ERR_NAME_NOT_RESOLVED — DNS lookup for hostname failed
- ERR_CERT_COMMON_NAME_INVALID — TLS certificate hostname mismatch
- SSL Handshake Failed — TLS version or cipher negotiation failure