OnSumo Tools

HTTP Status Codes Explained: What They Mean and When They Appear

HTTP status codes are three-digit numbers that servers send in response to browser requests, indicating whether the request succeeded, failed, or requires further action. Every time your browser requests a web page, image, or API endpoint, the server responds with one of these codes. Some you see directly (like the infamous 404 error), while others work silently in the background, redirecting you or confirming successful requests.

1xx Informational Responses

1xx status codes tell the client that the server received the request and is still processing it. These codes rarely appear in typical web browsing. You might see them during long file uploads or when a server needs extra time to prepare a response. Most web developers encounter them only when building streaming applications or WebSocket connections. Common examples: - 100 Continue: The server received the request headers and the client can proceed with sending the request body - 101 Switching Protocols: The server is switching to a different protocol as requested by the client

2xx Success Codes

2xx codes confirm that the server successfully received, understood, and processed the request. When you load a web page without errors, the server sent a 2xx code. These codes work silently. Your browser doesn't display them because everything worked as expected. Common examples: - 200 OK: The request succeeded and the server returned the requested content - 201 Created: The request succeeded and created a new resource (common after form submissions) - 204 No Content: The request succeeded but there is no content to return

3xx Redirection Codes

3xx codes tell the browser that the requested resource moved to a different location. Your browser automatically follows these redirects. You almost never see them because the redirect happens instantly. Website owners use these codes when moving pages or enforcing HTTPS connections. Common examples: - 301 Moved Permanently: The resource permanently moved to a new URL (browsers remember this and skip directly to the new URL on future visits) - 302 Found: The resource temporarily moved to a different URL - 304 Not Modified: The cached version is still valid (saves bandwidth by not re-downloading unchanged content)

4xx Client Error Codes

4xx codes indicate that the request contained bad syntax or cannot be fulfilled due to a client-side problem. These are the errors you actually see. A mistyped URL triggers a 404. Trying to access a protected page without logging in triggers a 401 or 403. The problem is on your end (wrong URL, missing credentials, forbidden access). Common examples: - 400 Bad Request: The server cannot process the request due to malformed syntax - 401 Unauthorized: Authentication is required and has failed or not been provided - 403 Forbidden: The server understood the request but refuses to authorize it - 404 Not Found: The server cannot find the requested resource - 429 Too Many Requests: You sent too many requests in a given timeframe (rate limiting kicked in)

5xx Server Error Codes

5xx codes mean the server failed to fulfill a valid request due to a server-side problem. When you see these, the problem is not your fault. The server crashed, ran out of memory, or encountered a bug. Refreshing the page sometimes helps if the error was temporary, but persistent 5xx errors require the website owner to fix their server. Common examples: - 500 Internal Server Error: A generic error when the server encountered an unexpected condition - 502 Bad Gateway: The server acting as a gateway received an invalid response from an upstream server - 503 Service Unavailable: The server is temporarily unable to handle the request (often during maintenance or overload)

Common HTTP Status Codes at a Glance

CodeNameMeaningCommon Cause
200OKRequest succeededNormal page load
301Moved PermanentlyResource permanently relocatedPage moved, HTTPS enforcement
302FoundResource temporarily relocatedTemporary redirect, A/B testing
400Bad RequestMalformed request syntaxCorrupted browser cache, invalid input
401UnauthorizedAuthentication requiredNot logged in, session expired
403ForbiddenAccess deniedInsufficient permissions, IP blocked
404Not FoundResource does not existBroken link, mistyped URL, deleted page
429Too Many RequestsRate limit exceededAPI quota exceeded, aggressive scraping
500Internal Server ErrorServer encountered an errorServer bug, crashed script
502Bad GatewayGateway received invalid responseUpstream server down, misconfigured proxy
503Service UnavailableServer temporarily unavailableMaintenance mode, server overload

How to Check What Status Code a URL Returns

The easiest way to check a URL's status code is with the HTTP Status Codes tool. Enter any URL and see the exact status code, response headers, and redirect chain. For developers who need to check status codes programmatically, browser DevTools work too. Open the Network tab (F12 in most browsers), reload the page, and click any request to see its status code and full response headers. When debugging authentication or session issues, use the cookie decoder to inspect cookie attributes alongside response headers. When debugging redirect chains or checking status codes in bulk, the HTTP Status Codes tool saves time by showing the entire redirect path in one view. If you are debugging API endpoints that return JSON error messages, the JSON Validator tool can help you parse and validate the response body.

Frequently Asked Questions

What is a 404 error?

A 404 error means the server cannot find the requested resource at the given URL. This happens when you follow a broken link, mistype a URL, or try to access a page that was deleted. The page existed at some point or never existed at all.

What does 503 Service Unavailable mean?

A 503 status code means the server is temporarily unable to handle your request. The most common causes are scheduled maintenance, sudden traffic spikes that overload the server, or the server restarting after a crash. Waiting a few minutes and refreshing usually resolves it.

What is the difference between 301 and 302 redirects?

A 301 redirect is permanent. Browsers cache it and skip directly to the new URL on future visits. A 302 redirect is temporary. Browsers always check the original URL first before following the redirect. Use 301 when a page permanently moves. Use 302 for temporary situations like A/B testing or maintenance redirects.

What does 200 OK mean?

A 200 status code confirms that the server successfully processed your request and returned the content you asked for. This is the normal response when a web page loads correctly. You do not see this code displayed because everything worked as expected.

Why do I see a 502 Bad Gateway error?

A 502 error occurs when one server (acting as a gateway or proxy) receives an invalid response from another server upstream. Common scenarios include the upstream server crashing, a misconfigured load balancer, or network issues between servers. This is a server-side problem that the website owner needs to fix.

What causes a 429 Too Many Requests error?

A 429 status code appears when you exceed the rate limit set by the server. APIs use rate limits to prevent abuse and ensure fair resource distribution. If you see this error, wait before sending more requests or check if the API offers a higher rate limit tier. Reviewed by OnSumo Editorial Team This guide references the official HTTP specifications maintained by the Internet Assigned Numbers Authority (IANA) and documentation from MDN Web Docs. Status code definitions follow RFC 9110 (HTTP Semantics).