Status codes: did it work?
Every response comes back with a three-digit status code — the server's one-glance verdict on how the request went. They're grouped by their first digit:
- 2xx — success. It worked.
200 OKis 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 URL or a typo'd path. Look at what's being asked for.
- A 500 means the server fell over. Your request was fine; the backend 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.