Understanding HTTP Status Codes: 200, 403, 404, 500, 502, 503, and 504
Every time your browser connects to a website, the web server replies with a three-digit HTTP response status code. These codes are grouped into five standardized classes (1xx through 5xx) that immediately tell you whether the server is healthy, enforcing security rules, or experiencing a backend crash.
1. 2xx Success & 3xx Redirection Codes (A Response Was Received)
When a server returns a 2xx or 3xx status code, its networking stack, TLS encryption, and HTTP routing are functioning normally:
The standard response for successful HTTP requests. The web server processed the request and delivered the page payload normally.
The server is active and automatically forwarding your browser to a canonical address—for example, redirecting http:// to https:// or forwarding an apex domain to www.
2. 4xx Client & WAF Codes (Why 403 Often Means the Site is Up)
4xx codes indicate that a server or gateway responded but did not fulfill the specific request:
A 403 or 429 means a server or gateway returned an access-related response. A WAF or rate limit may be responsible, but the code alone does not prove which component responded or why access was denied.
The domain and web server are online, but the specific page or file path you requested does not exist on the server.
3. 5xx Server & Gateway Errors (Service or Upstream Problems)
A 5xx response means the responding server or gateway reports a service-side problem. It does not by itself prove a complete outage or identify whether the fault is at the edge, upstream, or application:
The web server is reachable, but the backend application code (Node.js, Python, PHP, Go) encountered an unhandled exception or database connection failure.
The reverse proxy or CDN edge server (such as Cloudflare or Nginx) is working, but it could not get a valid or timely response from the upstream origin server behind it.
The responding server or gateway is reporting temporary unavailability. Causes can include overload, maintenance, upstream issues, or a security challenge; the status code alone cannot distinguish them.
Cloudflare-specific codes commonly indicate that an edge request could not complete against the origin, for example a refused connection (521) or timeout (522 / 524). These are path-specific errors, not proof that every region or service is down.