Skip to content
XUtilHub

HTTP Status Codes Explained: 200, 301, 404, 500 and More

XUtilHub Team ·

Every time a browser asks a server for a page, the server replies with a three-digit status code. Most of the time it's 200 and you never notice. When something goes wrong, the code tells you where to look.

The five families

RangeMeaningIn short
1xxInformational"Keep going"
2xxSuccess"Here you go"
3xxRedirection"It's over there"
4xxClient error"You asked for something wrong"
5xxServer error"I broke"

The codes you'll see most

200 OK. Everything worked.

201 Created. A new resource was created, typically after a form submission or API POST.

204 No Content. Success, with nothing to send back.

301 Moved Permanently. The page has a new address for good. Search engines move rankings to the new URL.

302 Found / 307 Temporary Redirect. The page is temporarily elsewhere.

304 Not Modified. Your browser's cached copy is still current, so nothing needs downloading.

400 Bad Request. The request was malformed, such as invalid JSON in an API call.

401 Unauthorized. You need to log in, or your token is missing or expired.

403 Forbidden. You're identified, but not allowed. Also used by firewalls blocking bots or countries.

404 Not Found. Nothing exists at that address.

410 Gone. It existed but was removed deliberately and won't be back.

429 Too Many Requests. You've hit a rate limit; slow down.

500 Internal Server Error. Something crashed on the server.

502 Bad Gateway. A proxy or load balancer couldn't get a valid answer from the server behind it.

503 Service Unavailable. The server is overloaded or down for maintenance.

504 Gateway Timeout. The server behind the proxy took too long to answer.

Fixing common errors

404s on your own site: check for typos in links, and add 301 redirects when you move or rename pages. Old links from other sites and search results will then still work.

403 when your site works for you: a security plugin, firewall or hosting rule may be blocking certain visitors or countries.

500: check the server's error log. It's usually a bug, a failed database connection or a misconfiguration.

502/504: the app behind the web server (Node, PHP-FPM and so on) is down, crashed or too slow.

Status codes and SEO

  • Pages that should rank must return 200.
  • Use 301 (or 308) for permanent moves; avoid chains of several redirects.
  • A "not found" page that returns 200 instead of 404 is a soft 404, which confuses search engines.
  • Lots of 5xx errors can make search engines crawl your site less.

Check any URL

The HTTP headers checker shows a page's status code, headers and response time. The redirect checker follows every redirect step, and the HTTP status codes reference explains every code in detail.

Tools mentioned in this article

← All articles