client error RFC 9110

HTTP 404 Not Found

The requested URL does not exist on this server.

What it means

The most famous HTTP status code. The URL the client asked for is not something this server knows about. Could mean the resource was deleted, the URL is misspelled, or the route was never defined. Some sites also return 404 for resources the user is not authorized to see (a privacy-preserving alternative to 403 that doesn't reveal the resource exists).

When servers send it

  • URL doesn't match any route on the server
  • Resource ID doesn't exist (`GET /users/999999`)
  • File was deleted or moved
  • Sometimes used instead of 403 to avoid leaking resource existence

What the client does

Shows a "not found" message to the user. Search engines drop the URL from their index after seeing 404s persist.

Common causes

  • Typo in the URL
  • Route not registered on the server
  • Trailing slash mismatch (`/api/users` vs `/api/users/`)
  • Case sensitivity — some servers treat `/API/users` and `/api/users` differently
  • Old link to a resource that was deleted or moved (needs a 301 redirect)

How to fix it

  • 1.Check the URL for typos
  • 2.Verify the route is registered with the correct HTTP method (POST /users may work when GET /users returns 404)
  • 3.Check case sensitivity of the path
  • 4.If the URL used to work: check if you renamed a route without adding a 301 redirect
  • 5.On single-page apps: ensure the server returns index.html for unknown routes (SPA fallback)

Similar codes

← All HTTP status codes · HTTP status cheat sheet · HTTP headers reference