A complete, searchable reference of all HTTP response status codes from 1xx to 5xx. Search by code number, name, or description to quickly find what any status code means, what causes it, and how to fix it.
| Code | Name | Description | Common Cause |
|---|

HTTP status codes are three-digit numbers returned by a web server in response to every request. They tell the client (browser, API consumer, or crawler) whether the request was successful, redirected, or encountered an error. Understanding these codes is essential for web development, DNS troubleshooting, and network administration.
Status codes are defined in RFC 9110 (HTTP Semantics) and are grouped into five classes based on the first digit. When you access a website, your browser typically receives a 200 OK response, but redirects, errors, and other codes happen constantly behind the scenes.
| Class | Range | Meaning | Example |
|---|---|---|---|
| 1xx | 100-199 | Informational — request received, processing continues | 100 Continue, 101 Switching Protocols |
| 2xx | 200-299 | Success — request received, understood, accepted | 200 OK, 201 Created, 204 No Content |
| 3xx | 300-399 | Redirection — further action needed to complete request | 301 Moved, 302 Found, 304 Not Modified |
| 4xx | 400-499 | Client Error — request contains bad syntax or cannot be fulfilled | 400 Bad Request, 404 Not Found, 429 Too Many |
| 5xx | 500-599 | Server Error — server failed to fulfill a valid request | 500 Internal Error, 502 Bad Gateway, 503 Unavailable |
Pro Tip: When debugging web issues, the status code is your first clue. A 4xx error means the problem is on the client side (wrong URL, missing authentication, bad request format). A 5xx error means the server itself has a problem. Use your browser's Developer Tools (F12 → Network tab) to see status codes for every request, or use our Port Checker to verify the server is even reachable.
While there are dozens of defined codes, these are the ones you'll encounter most frequently in everyday web browsing and development:
| Code | Name | When You See It | What To Do |
|---|---|---|---|
| 200 | OK | Everything worked correctly | Nothing — this is the expected response |
| 301 | Moved Permanently | Page URL has changed permanently | Update bookmarks/links to new URL |
| 302 | Found | Temporary redirect to another URL | Follow the redirect; original URL still valid |
| 304 | Not Modified | Browser cache is still valid | Nothing — saves bandwidth |
| 400 | Bad Request | Server couldn't understand your request | Check URL format, parameters, and headers |
| 401 | Unauthorized | Authentication required or failed | Provide valid credentials or API key |
| 403 | Forbidden | Server refuses access | Check permissions; you may need different access level |
| 404 | Not Found | Page doesn't exist at this URL | Check for typos; page may have been removed |
| 500 | Internal Server Error | Something broke on the server | Try again later; server admin needs to investigate |
| 502 | Bad Gateway | Proxy/load balancer got bad response | Try again; backend server may be restarting |
| 503 | Service Unavailable | Server is overloaded or in maintenance | Wait and retry; check server status page |
Status codes are closely related to network issues you might troubleshoot with other tools:
If you're managing a home network and getting errors accessing your router's admin panel, the issue is typically a connection problem rather than an HTTP error. Verify your device is connected and your gateway is configured correctly.
curl -v to see the full response.
Search engine crawlers pay close attention to HTTP status codes when indexing your website:
# Check status code with curl
curl -o /dev/null -s -w "%{http_code}" https://example.com
# See full response headers
curl -I https://example.com
# Follow redirects and show each hop
curl -L -s -o /dev/null -w "%{url_effective}\n%{http_code}\n" https://example.com
You can also check if the web server ports are accessible using our Port Checker on ports 80 (HTTP) and 443 (HTTPS), or use a Subnet Calculator to understand your network addressing.
HTTP 200 OK means the request was successful. The server found the requested resource and returned it to the client. This is the standard response for successful web page loads, API calls, and file downloads. If you see 200 in your network logs, everything is working as expected.
A 301 redirect is permanent — it tells browsers and search engines the resource has moved to a new URL forever. A 302 redirect is temporary — the original URL is still valid and should be used in the future. For SEO, 301 redirects pass link authority to the new URL, while 302 redirects may not.
A 403 error means the server understood your request but refuses to authorize it. Common causes include: directory listing disabled, IP address blocked by firewall, file permissions preventing access, or the server requires authentication you haven't provided. Check file permissions and firewall rules.
A 502 error means a server acting as a gateway or proxy received an invalid response from an upstream server. This typically happens when a backend application server crashes, is overloaded, or takes too long to respond. It's a server-side issue that the website administrator needs to fix.
If you're the user: check the URL for typos, try the site's homepage, or use a search engine to find the content. If you're the website owner: set up proper 301 redirects for moved pages, create a custom 404 page, and regularly audit your site for broken links.
A soft 404 is when a server returns a 200 OK status code for a page that doesn't actually exist — typically showing a "page not found" message in the HTML while reporting success in the status code. This confuses search engines and should be fixed by returning a proper 404 status code.
About Tommy N.
Tommy is the founder of RouterHax and a network engineer with 10+ years of experience in home and enterprise networking. He specializes in router configuration, WiFi optimization, and network security. When not writing guides, he's testing the latest mesh WiFi systems and helping readers troubleshoot their home networks.
![]() |
![]() |
![]() |
![]() |
Promotion for FREE Gifts. Moreover, Free Items here. Disable Ad Blocker to get them all.
Once done, hit any button as below
![]() |
![]() |
![]() |
![]() |