~/VibeHandbook
$39

Chapter 03 · 05

Status codes: did it work?

Every response comes back with a three-digit — the server's one-glance verdict on how the request went. They're grouped by their first digit:

  • 2xx — success. It worked. 200 OK is the everyday "here's what you asked for."
  • 3xx — redirect. "It's not here, go look over there instead." Common and harmless; your browser follows automatically.
  • 4xx — you (the client) made a mistake. The famous one is 404 Not Found — you asked for a path that doesn't exist. (Also 401/403 — you're not logged in, or not allowed.)
  • 5xx — the server made a mistake. 500 Internal Server Error means the server's own code crashed or broke while handling your request.

The 4xx/5xx split is worth tattooing on your brain, because it tells you where to look:

  • A 404 means the request was wrong — usually a bad or a typo'd path. Look at what's being asked for.
  • A 500 means the server fell over. Your request was fine; the code broke. Look at the server logs, not the URL.

When something's broken in a vibe-coded app, "is it a 4xx or a 5xx?" is one of the fastest questions to triage with.

   status code
        │
        ├── 2xx ──▶ SUCCESS        it worked (200 OK)
        │
        ├── 3xx ──▶ REDIRECT       "go look over there" (auto-followed)
        │
        ├── 4xx ──▶ CLIENT error   YOUR request was wrong  ─▶ check the URL/path
        │
        └── 5xx ──▶ SERVER error   the backend broke       ─▶ check server logs

Want it offline?

Get the PDF + EPUB + downloadable prompt library + version updates.

$ Get the PDF — $39