Router, modem, and HTTP status codes for connectivity issues.
43 error codes
43 codes
HTTP 301 (Moved Permanently) means the requested resource has permanently moved to a new URL, and clients should use that new URL from now on.
HTTP 302 (Found (Temporary Redirect)) means the resource is temporarily at a different URL, but the original URL should still be used in future requests.
HTTP 303 (See Other) means the response to the request can be found at another URL, and the client should retrieve it with a GET request.
HTTP 304 (Not Modified) means the requested resource has not changed since the client last fetched it, so the server sends no body and the client uses its cached copy.
HTTP 307 (Temporary Redirect) means the resource is temporarily at a different URL, and the client must repeat the request there using the same HTTP method.
HTTP 308 (Permanent Redirect) means the resource has permanently moved to a new URL, and clients must repeat the request there using the same HTTP method.
HTTP 400 (Bad Request) means the server could not understand the request because it was malformed — bad syntax, invalid framing, or deceptive routing.
HTTP 401 (Unauthorized) means the request requires authentication that is missing or invalid — you are not logged in or your credentials/token were rejected.
HTTP 402 (Payment Required) means the request cannot proceed until a payment is made — a status reserved for paid content, quotas, or billing.
HTTP 403 (Forbidden) means the server understood the request but refuses to authorise it — you don't have permission for this resource, and re-authenticating won't help.
The server could not find the requested resource at the given URL.
HTTP 405 (Method Not Allowed) means the HTTP method used (GET, POST, PUT, DELETE…) is not allowed for this resource, even though the resource exists.
HTTP 406 (Not Acceptable) means the server can't produce a response matching the formats the client said it would accept (via the Accept headers).
HTTP 408 (Request Timeout) means the server timed out waiting for the client to finish sending the request.
HTTP 409 (Conflict) means the request conflicts with the current state of the resource — for example, an edit that clashes with another change.
HTTP 410 (Gone) means the resource was intentionally removed and is permanently gone, with no forwarding address.
HTTP 411 (Length Required) means the server refuses the request because it lacks a Content-Length header.
HTTP 413 (Payload Too Large) means the request body is larger than the server is willing or able to process — the upload/payload exceeds a size limit.
HTTP 414 (URI Too Long) means the requested URL is longer than the server is willing to interpret.
HTTP 415 (Unsupported Media Type) means the server refuses the request because the body's media type (Content-Type) isn't supported by the endpoint.
HTTP 418 (I'm a Teapot) means the server refuses to brew coffee because it is, in fact, a teapot — an April Fools' joke code from the "Hyper Text Coffee Pot Control Protocol."
HTTP 422 (Unprocessable Content) means the request was well-formed but the server can't process it because the content failed validation (semantic errors).
HTTP 425 (Too Early) means the server is unwilling to process a request that might be replayed — sent as part of TLS 1.3 "early data" (0-RTT).
HTTP 426 (Upgrade Required) means the server refuses the request on the current protocol and requires the client to upgrade to a different protocol (e.g. a newer TLS or HTTP version, or WebSocket).
HTTP 429 (Too Many Requests) means the client has sent too many requests in a given time — you have hit a rate limit.
HTTP 431 (Request Header Fields Too Large) means the server refuses the request because its header fields are too large — often a single oversized header like a huge cookie.
HTTP 451 (Unavailable For Legal Reasons) means the resource is blocked for legal reasons — for example, government censorship or a takedown demand.
HTTP 500 (Internal Server Error) means the server hit an unexpected condition that stopped it fulfilling the request — a generic "something broke on the server" error.
HTTP 501 (Not Implemented) means the server does not support the functionality required to fulfil the request — usually an HTTP method it doesn't recognise or support.
HTTP 502 (Bad Gateway) means a server acting as a gateway/proxy received an invalid response from the upstream (origin) server it was trying to reach.
HTTP 503 (Service Unavailable) means the server is temporarily unable to handle the request — it is overloaded or down for maintenance.
HTTP 504 (Gateway Timeout) means a gateway/proxy server timed out waiting for a response from the upstream (origin) server.
HTTP 505 (HTTP Version Not Supported) means the server doesn't support the HTTP protocol version used in the request.
HTTP 507 (Insufficient Storage) means the server cannot complete the request because it doesn't have enough storage space to do so (originally a WebDAV code).
HTTP 508 (Loop Detected) means the server detected an infinite loop while processing the request and stopped (originally a WebDAV code).
HTTP 511 (Network Authentication Required) means the client needs to authenticate to gain network access — typically a captive portal (public Wi-Fi login page).
HTTP 520 (Web Server Returned an Unknown Error) means Cloudflare received an empty, unknown, or unexpected response from the origin server.
HTTP 521 (Web Server Is Down) means Cloudflare cannot establish a connection to the origin server — the origin refused or dropped the connection.
HTTP 522 (Connection Timed Out) means Cloudflare timed out trying to connect to the origin server — the TCP handshake didn't complete in time.
HTTP 523 (Origin Is Unreachable) means Cloudflare cannot reach the origin server at all — often a routing or DNS problem pointing to the wrong/unreachable address.
HTTP 524 (A Timeout Occurred) means Cloudflare made a connection to the origin but the origin didn't send a full response before Cloudflare's timeout (100s by default).
HTTP 525 (SSL Handshake Failed) means the SSL/TLS handshake between Cloudflare and the origin server failed — they couldn't agree on a secure connection.
HTTP 526 (Invalid SSL Certificate) means Cloudflare could not validate the origin server's SSL certificate (used with Full (Strict) SSL mode).