HTTP headers and status code checker
Fetch a URL and see every hop of the redirect chain with its status code and timing, the full response headers, and which security headers are missing.
Try http:// to see the redirect to https.
Status codes you'll meet most
| Code | Meaning | Typical cause |
|---|---|---|
| 200 | OK | Normal response |
| 301 / 308 | Moved permanently | http→https, domain moves, trailing-slash rules |
| 302 / 307 | Temporary redirect | Login walls, A/B tests, geo redirects |
| 304 | Not modified | Browser cache revalidation |
| 403 | Forbidden | Permissions, WAF or bot protection blocking the request |
| 404 / 410 | Not found / gone | Missing page; 410 tells crawlers it's permanent |
| 429 | Too many requests | Rate limiting |
| 500 | Server error | Application crash |
| 502 / 504 | Bad gateway / timeout | Proxy or CDN can't reach the origin |
| 503 | Unavailable | Maintenance or overload |
Locally: curl -sIL http://example.com prints each hop's headers.
Questions people ask
What does an HTTP status code checker show?
The status code of every response in the redirect chain: 200 OK, 301/308 permanent redirects, 302/307 temporary redirects, 404 not found, 5xx server errors, and where each redirect points. Search engines follow the same chain.
301 or 302: which redirect should I use?
Use 301 (or 308, which also preserves the request method) for permanent moves such as http→https or old URL → new URL; search engines transfer ranking signals. Use 302/307 only for genuinely temporary redirects.
Which security headers matter most?
Strict-Transport-Security (forces HTTPS), Content-Security-Policy (limits where scripts load from), X-Content-Type-Options: nosniff, Referrer-Policy, and X-Frame-Options or CSP frame-ancestors against clickjacking.Why is my result different from what my browser shows?
Servers can vary responses by user agent, cookies, language or location, and a CDN may serve a cached copy. This check sends a plain GET with no cookies from our server's region.