# HTTP Status Codes Explained for Website Owners
HTTP status codes are short server responses that explain what happened to a request. Browsers, crawlers, uptime monitors, APIs, and CDN edges all use them to understand whether a page loaded, redirected, failed, or was blocked.
You do not need to memorize every code. For website operations, the useful skill is knowing which class of response you are seeing and what to check next.
Use AccessTest URL Check to inspect status codes from different regions:
https://www.accesstest.net/tools/url-check/
The five status code classes
HTTP status codes are grouped by their first digit:
- `1xx`: informational responses. - `2xx`: successful responses. - `3xx`: redirects and cache-related responses. - `4xx`: request or access problems. - `5xx`: server, gateway, or upstream failures.
Most website owners spend the most time with `200`, `301`, `302`, `403`, `404`, `429`, `500`, `502`, `503`, and `504`.
2xx: success
200 OK
The request succeeded. For a normal public page, this is usually the expected response.
Check that the page is not only returning `200`, but also returning the correct content. A `200 OK` error page can still be a problem.
204 No Content
The server succeeded but returned no body. This is common for API actions and not usually expected for ordinary public pages.
3xx: redirects
Redirects are normal for HTTPS, canonical hostnames, language paths, and moved pages. The risk is redirect chains. Every extra hop adds latency and creates more room for mistakes.
301 Moved Permanently
Use `301` when a URL has permanently moved. Common examples include old page URLs, HTTP-to-HTTPS redirects, and non-canonical hostnames.
302 Found
Use `302` for temporary redirects. It tells clients that the move is not permanent.
307 and 308
These redirects preserve the HTTP method more strictly. `307` is temporary, and `308` is permanent.
304 Not Modified
This is a cache validation response. It tells the client the cached copy is still valid.
4xx: request or access problems
4xx responses mean the server understood the request but cannot fulfill it as sent. Sometimes the user made a bad request. Sometimes your site has a broken link, permission issue, or firewall rule.
400 Bad Request
The request is malformed or cannot be processed. Check URL format, headers, proxies, and application validation.
401 Unauthorized
Authentication is required. This is normal for protected areas and unexpected for public pages.
403 Forbidden
The server refuses access. For public pages, check WAF rules, file permissions, geo blocking, bot protection, and authorization logic.
404 Not Found
The URL does not map to a resource. This is fine for truly missing pages, but bad for internal links, indexed pages, and important moved content.
410 Gone
The content has intentionally been removed. Use this carefully when the page should not return.
429 Too Many Requests
The client hit a rate limit. If real users see `429`, review thresholds, bot rules, and whether shared IP ranges are being limited too aggressively.
5xx: server or upstream failures
5xx responses usually deserve urgent attention because they mean the server, gateway, CDN, or upstream dependency failed.
500 Internal Server Error
Generic application or server failure. Check application logs, recent deploys, configuration, and dependency errors.
502 Bad Gateway
A proxy, CDN, or gateway received an invalid response from the upstream server. Check origin health, upstream protocol, and CDN-to-origin connectivity.
503 Service Unavailable
The service is overloaded, in maintenance, or temporarily unable to respond. Check capacity, maintenance mode, deploys, and rate limiting.
504 Gateway Timeout
A gateway or CDN waited too long for the upstream server. Check slow endpoints, database queries, external APIs, and origin availability.
Which codes are most urgent?
For public website pages, prioritize:
- `500`, `502`, `503`, `504`: reliability issue. - Unexpected `403`: users or crawlers may be blocked. - Unexpected `404`: broken links or missing indexed content. - Long redirect chains: speed and SEO issue. - Wrong content with `200`: harder to detect, but still serious.
Monitor status codes by region
A page may return `200 OK` from one country and `403`, `502`, or a timeout from another. Monitor important URLs from more than one region, especially if your audience is international.
Track:
- Homepage. - Login and checkout pages. - Pricing or lead pages. - Contact page. - API health endpoint. - Important landing pages. - Blog and SEO pages.
FAQ
Is 404 always bad?
No. A 404 is fine for pages that truly do not exist. It is bad when important pages, internal links, or indexed URLs unexpectedly return 404.
Is 301 better than 302?
Neither is universally better. Use 301 for permanent moves and 302 for temporary moves.
Why does a CDN show 502 or 504?
The CDN may be unable to reach the origin, or the origin may be returning invalid, slow, or timed-out responses.
Can status codes affect SEO?
Yes. Search engines need stable, crawlable responses. Unexpected 4xx, 5xx, and redirect chains can hurt crawling and user experience.