Error map

404 HTTP 404 Not Found

HTTP · layer 2, Network

Open the full error page →

Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

404 — HTTP 404 Not Found (HTTP)404403 — HTTP 403 Forbidden (HTTP)403500 — HTTP 500 Internal Server Error (HTTP)500200 — HTTP 200 OK (but something is still wrong) (HTTP)200Primary script unknown — FastCGI sent in stderr: "Primary script unknown" (PHP)Primary script unkn…URIError — URIError: URI malformed (JavaScript)URIError1019 — Cloudflare Error 1019: Compute server error (Workers) (Cloudflare)1019SyntaxError: JSON — SyntaxError: Unexpected token < in JSON at position 0 (JavaScript)SyntaxError: JSON410 — HTTP 410 Gone (HTTP)410path-to-regexp — TypeError: Missing parameter name at 1 (path-to-regexp) (Node.js)path-to-regexpCannot GET — API Error: Cannot GET /api/... / No route matches / The route could not be found (API)Cannot GETNetwork is unreachable — connect: Network is unreachable (ENETUNREACH) (Linux)Network is unreacha…404 except homepage — WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules) (WordPress)404 except homepagepublickey — Git: Permission denied (publickey). fatal: Could not read from remote repository. (Git)publickeyAccessDenied — AWS S3: AccessDenied (403) when calling GetObject / PutObject (AWS)AccessDeniedEACCES — Linux: Permission denied (Linux)EACCES502 — HTTP 502 Bad Gateway (HTTP)502503 — HTTP 503 Service Unavailable (HTTP)503Allowed memory size exhausted — PHP Fatal error: Allowed memory size of X bytes exhausted (PHP)Allowed memory size…GRAPHQL_VALIDATION_FAILED — GraphQL: Cannot query field "x" on type "Y" (API)GRAPHQL_VALIDATION_…103 — HTTP 103 Early Hints (HTTP)103303 — HTTP 303 See Other (HTTP)303ArgumentCountError — Fatal error: Uncaught ArgumentCountError: Too few arguments to function foo(), 1 passed and exactly 2 expected (PHP)ArgumentCountErrorArray to string conversion — Warning: Array to string conversion (PHP)Array to string con…OPcache stale code — PHP still runs old code after deploy (OPcache not reset) (PHP)OPcache stale codeAbortError — AbortError: The user aborted a request. / signal is aborted without reason (JavaScript)AbortErrorbody already used — TypeError: Failed to execute 'json' on 'Response': body stream already read (JavaScript)body already usedBOM output — Unexpected characters at the top of the page / headers already sent by BOM (PHP)BOM output405 — HTTP 405 Method Not Allowed (HTTP)405Whitelabel Error Page — Whitelabel Error Page — This application has no explicit mapping for /error (Java)Whitelabel Error Pa…No routes matched — No routes matched location "/x" (React)No routes matched400 — HTTP 400 Bad Request (HTTP)400Failed to fetch — TypeError: Failed to fetch / NetworkError when attempting to fetch resource (JavaScript)Failed to fetch302 — HTTP 302 Found (Temporary Redirect) (HTTP)302301 — HTTP 301 Moved Permanently (HTTP)301resource_missing — API Error: No such object / resource_missing (resource not found by ID) (API)resource_missingapi_version_invalid — API Error: Invalid or unsupported API version (API)api_version_invalidERR_HTTP_HEADERS_SENT — Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client (Node.js)ERR_HTTP_HEADERS_SE…req.body undefined — Express: req.body is undefined / {} (body parser missing) (Node.js)req.body undefinedRouter.use middleware — TypeError: Router.use() requires a middleware function but got a Object (Node.js)Router.use middlewa…NextRouter was not mounted — Error: NextRouter was not mounted. (React)NextRouter was not …The request matched multiple endpoints — AmbiguousMatchException: The request matched multiple endpoints. Matches: X, Y (.NET)The request matched…rest_no_route — WordPress REST API: {"code":"rest_no_route","message":"No route was found matching the URL and request method."} (WordPress)rest_no_routeECONNRESET — Error: socket hang up / read ECONNRESET (API)ECONNRESETENOTFOUND — Error: getaddrinfo ENOTFOUND host / Name or service not known (API)ENOTFOUNDssh port 22 Connection refused — ssh: connect to host x port 22: Connection refused (Linux)ssh port 22 Connect…444 — Nginx 444 No Response (connection closed without response) (HTTP)444495 — Nginx 400: The SSL certificate error (495 / 496 client certificate) (HTTP)495497 — 400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497) (HTTP)497

Directly related (12)

403HTTP

HTTP 403 Forbidden

The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…

500HTTP

HTTP 500 Internal Server Error

The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.

200HTTP

HTTP 200 OK (but something is still wrong)

The request succeeded at the HTTP level — yet the page is blank, the data is wrong, or an error is hidden inside the response bod…

Primary script unknownPHP

FastCGI sent in stderr: "Primary script unknown"

Nginx passed a script path to PHP-FPM that PHP-FPM couldn’t find — usually a wrong SCRIPT_FILENAME or root.

URIErrorJavaScript

URIError: URI malformed

decodeURIComponent/decodeURI received an invalid percent-encoded sequence.

1019Cloudflare

Cloudflare Error 1019: Compute server error (Workers)

A Cloudflare Worker routed the request to a loop or hit an internal compute error.

SyntaxError: JSONJavaScript

SyntaxError: Unexpected token < in JSON at position 0

`JSON.parse()` / `response.json()` received something that isn’t JSON — very often an HTML error page.

410HTTP

HTTP 410 Gone

The resource used to exist but was intentionally and permanently removed, with no forwarding address.

path-to-regexpNode.js

TypeError: Missing parameter name at 1 (path-to-regexp)

An Express 5 (path-to-regexp v8) route uses old wildcard syntax like '*' or '/:id?'.

Cannot GETAPI

API Error: Cannot GET /api/... / No route matches / The route could not be found

The server has no route for this URL and HTTP method combination — the endpoint path, API version prefix or method is wrong.

Network is unreachableLinux

connect: Network is unreachable (ENETUNREACH)

The host has no route to the destination network — no default gateway, interface down, or trying IPv6 without IPv6 connectivity.

404 except homepageWordPress

WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules)

Pretty permalinks aren’t being routed to index.php — .htaccess is missing/ignored (Apache) or Nginx lacks try_files.

Two steps away (36)

publickeyGit

Git: Permission denied (publickey). fatal: Could not read from remote repository.

SSH authentication to GitHub/GitLab/Bitbucket failed — no key, wrong key, or the key isn’t added to your account.

AccessDeniedAWS

AWS S3: AccessDenied (403) when calling GetObject / PutObject

An IAM policy, bucket policy, ACL/ownership setting, Block Public Access or KMS key policy denied the S3 request.

EACCESLinux

Linux: Permission denied

Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.

502HTTP

HTTP 502 Bad Gateway

A proxy or gateway (Nginx, load balancer, CDN) got an invalid response — or no response — from the upstream server behind it.

503HTTP

HTTP 503 Service Unavailable

The server is temporarily unable to handle the request — overloaded, in maintenance, or has no healthy backends.

Allowed memory size exhaustedPHP

PHP Fatal error: Allowed memory size of X bytes exhausted

The script tried to use more memory than PHP’s `memory_limit` allows.

GRAPHQL_VALIDATION_FAILEDAPI

GraphQL: Cannot query field "x" on type "Y"

The query asks for a field that doesn’t exist in the server’s schema (or isn’t available on that type).

103HTTP

HTTP 103 Early Hints

An interim response that sends Link headers early so the browser can preload CSS, fonts or scripts while the server is still buil…

303HTTP

HTTP 303 See Other

A redirect telling the client to fetch the result from another URL with GET — used after a form POST so refreshing doesn’t resubm…

ArgumentCountErrorPHP

Fatal error: Uncaught ArgumentCountError: Too few arguments to function foo(), 1 passed and exactly 2 expected

A function was called with fewer arguments than it requires.

Array to string conversionPHP

Warning: Array to string conversion

An array was used where a string is expected — echoing it, concatenating it, or passing it to a string function.

OPcache stale codePHP

PHP still runs old code after deploy (OPcache not reset)

OPcache keeps serving cached bytecode, so changes uploaded to the server don’t take effect.

AbortErrorJavaScript

AbortError: The user aborted a request. / signal is aborted without reason

A fetch was cancelled through an AbortController (or the browser cancelled it).

body already usedJavaScript

TypeError: Failed to execute 'json' on 'Response': body stream already read

A fetch Response body was consumed twice (e.g. calling .text() then .json()).

BOM outputPHP

Unexpected characters at the top of the page / headers already sent by BOM

A UTF-8 byte-order mark (BOM) at the start of a PHP file is sent as output, breaking headers, JSON and images.

405HTTP

HTTP 405 Method Not Allowed

The URL exists, but it doesn’t accept the HTTP method you used (e.g. POST to a GET-only route).

Whitelabel Error PageJava

Whitelabel Error Page — This application has no explicit mapping for /error

Spring Boot’s default error page — the request hit no controller mapping (404) or a controller threw (500).

No routes matchedReact

No routes matched location "/x"

React Router found no route definition for the current URL.

400HTTP

HTTP 400 Bad Request

The server could not understand the request because its syntax, headers or body are malformed or invalid.

Failed to fetchJavaScript

TypeError: Failed to fetch / NetworkError when attempting to fetch resource

The browser couldn’t complete the request at the network level — CORS, DNS, offline, blocked mixed content, or the server refused…

302HTTP

HTTP 302 Found (Temporary Redirect)

The resource is temporarily at another URL; clients should keep using the original URL for future requests.

301HTTP

HTTP 301 Moved Permanently

The resource has a new permanent URL; clients and search engines should use the address in the Location header from now on.

resource_missingAPI

API Error: No such object / resource_missing (resource not found by ID)

The endpoint exists, but the ID you passed — in the URL or as a reference in the body — doesn’t match any record the caller can s…

api_version_invalidAPI

API Error: Invalid or unsupported API version

The API version you requested — in the URL, a header or the SDK config — doesn’t exist or has been retired.

ERR_HTTP_HEADERS_SENTNode.js

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

An Express/Node handler tried to send a second response (or set headers) after one was already sent.

req.body undefinedNode.js

Express: req.body is undefined / {} (body parser missing)

Express didn’t parse the request body because no body-parsing middleware matched the request’s Content-Type.

Router.use middlewareNode.js

TypeError: Router.use() requires a middleware function but got a Object

app.use()/router.use() received an object instead of a function — usually a router module that wasn’t exported.

NextRouter was not mountedReact

Error: NextRouter was not mounted.

next/router’s useRouter was used inside the App Router (app/ directory), which uses next/navigation instead.

The request matched multiple endpoints.NET

AmbiguousMatchException: The request matched multiple endpoints. Matches: X, Y

Two controller actions or minimal API endpoints have the same route and HTTP method.

rest_no_routeWordPress

WordPress REST API: {"code":"rest_no_route","message":"No route was found matching the URL and request method."}

The REST endpoint doesn’t exist for that URL and HTTP method — wrong namespace/route, plugin not active, or route registered too…

ECONNRESETAPI

Error: socket hang up / read ECONNRESET

The other side closed the TCP connection abruptly while your client was still using it.

ENOTFOUNDAPI

Error: getaddrinfo ENOTFOUND host / Name or service not known

DNS lookup for the hostname failed — the name is wrong, doesn’t exist, or this machine can’t resolve it.

ssh port 22 Connection refusedLinux

ssh: connect to host x port 22: Connection refused

The server answered, but nothing is listening on the SSH port — sshd isn’t running, it uses another port, or a firewall actively…

444HTTP

Nginx 444 No Response (connection closed without response)

An Nginx-specific code: the server deliberately closed the connection without sending anything — a rule is dropping the request.

495HTTP

Nginx 400: The SSL certificate error (495 / 496 client certificate)

Nginx rejected the request because the client certificate was invalid (495) or missing (496) on a site that requires mutual TLS.

497HTTP

400 Bad Request: The plain HTTP request was sent to HTTPS port (Nginx 497)

Plain http:// traffic arrived on a port Nginx expects to be TLS (443 or a custom SSL port).