Error map
404 HTTP 404 Not Found
HTTP · layer 2, Network
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.
Directly related (12)
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…
HTTP 500 Internal Server Error
The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.
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…
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.
URIError: URI malformed
decodeURIComponent/decodeURI received an invalid percent-encoded sequence.
Cloudflare Error 1019: Compute server error (Workers)
A Cloudflare Worker routed the request to a loop or hit an internal compute error.
SyntaxError: Unexpected token < in JSON at position 0
`JSON.parse()` / `response.json()` received something that isn’t JSON — very often an HTML error page.
HTTP 410 Gone
The resource used to exist but was intentionally and permanently removed, with no forwarding address.
TypeError: Missing parameter name at 1 (path-to-regexp)
An Express 5 (path-to-regexp v8) route uses old wildcard syntax like '*' or '/:id?'.
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.
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.
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)
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.
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.
Linux: Permission denied
Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.
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.
HTTP 503 Service Unavailable
The server is temporarily unable to handle the request — overloaded, in maintenance, or has no healthy backends.
PHP Fatal error: Allowed memory size of X bytes exhausted
The script tried to use more memory than PHP’s `memory_limit` allows.
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).
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…
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…
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.
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.
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.
AbortError: The user aborted a request. / signal is aborted without reason
A fetch was cancelled through an AbortController (or the browser cancelled it).
TypeError: Failed to execute 'json' on 'Response': body stream already read
A fetch Response body was consumed twice (e.g. calling .text() then .json()).
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.
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 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 matched location "/x"
React Router found no route definition for the current URL.
HTTP 400 Bad Request
The server could not understand the request because its syntax, headers or body are malformed or invalid.
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…
HTTP 302 Found (Temporary Redirect)
The resource is temporarily at another URL; clients should keep using the original URL for future requests.
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.
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 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.
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.
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.
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.
Error: NextRouter was not mounted.
next/router’s useRouter was used inside the App Router (app/ directory), which uses next/navigation instead.
AmbiguousMatchException: The request matched multiple endpoints. Matches: X, Y
Two controller actions or minimal API endpoints have the same route and HTTP method.
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…
Error: socket hang up / read ECONNRESET
The other side closed the TCP connection abruptly while your client was still using it.
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: 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…
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.
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.
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).
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException