Skip to main content
DNS Checker(beta)

HTTP Status Codes Reference

HTTP Status Codes Reference: every 1xx through 5xx code, with causes and fixes.

Every HTTP status code explained with ranked common causes, step-by-step troubleshooting commands, and live diagnostic tools. Search or browse all 64 codes below.

64 status codesCLI troubleshooting commandsRanked common causesLive diagnostic tools

5xx — Server Error Responses

The server failed to fulfill a valid request. These indicate problems on the server side — crashes, overload, misconfigurations, or upstream failures. Defined in RFC 9110 §15.6.

4xx — Client Error Responses

The request contains an error on the client side — bad syntax, missing authentication, forbidden access, or a resource that does not exist. Defined in RFC 9110 §15.5.

400warning

Bad Request

The server cannot process the request due to a client-side error.

401warning

Unauthorized

Authentication is required and has not been provided or is invalid.

402warning

Payment Required

Payment is required to access this resource (reserved for future use).

403warning

Forbidden

The server understood the request but refuses to authorize it.

404warning

Not Found

The requested resource could not be found on the server.

405warning

Method Not Allowed

The HTTP method used is not supported for this resource.

406warning

Not Acceptable

The server cannot produce a response matching the client's Accept headers.

407warning

Proxy Authentication Required

The client must first authenticate with the proxy server.

408warning

Request Timeout

The server timed out waiting for the client to complete the request.

409warning

Conflict

The request conflicts with the current state of the resource.

410warning

Gone

The resource has been permanently removed and will not return.

411warning

Length Required

The server requires a Content-Length header in the request.

412warning

Precondition Failed

A precondition in the request headers evaluated to false.

413warning

Content Too Large

The request body exceeds the server's maximum allowed size.

414warning

URI Too Long

The request URI exceeds the server's maximum allowed length.

415warning

Unsupported Media Type

The server does not support the media type of the request body.

416warning

Range Not Satisfiable

The requested byte range is not available for the resource.

417warning

Expectation Failed

The server cannot meet the requirements of the Expect header.

418warning

I'm a Teapot

A humorous response defined in the Hyper Text Coffee Pot Control Protocol.

421warning

Misdirected Request

The request was directed at a server that cannot produce a response.

422warning

Unprocessable Content

The request is well-formed but contains semantic errors.

423warning

Locked

The resource is locked and cannot be modified (WebDAV).

424warning

Failed Dependency

The request failed because it depends on another request that failed (WebDAV).

425warning

Too Early

The server refuses to process a request that might be replayed.

426warning

Upgrade Required

The server requires the client to upgrade to a different protocol.

428warning

Precondition Required

The server requires the request to include conditional headers.

429warning

Too Many Requests

The client has sent too many requests and is being rate limited.

431warning

Request Header Fields Too Large

The request headers are too large for the server to process.

451warning

Unavailable For Legal Reasons

The server is denying access to the resource as a consequence of a legal demand.

3xx — Redirection Responses

The client must take additional action to complete the request, usually following a redirect to a different URL. Important for SEO and URL management. Defined in RFC 9110 §15.4.

Non-Standard Response Codes

Status codes used by specific web servers that are not part of the HTTP specification. These are commonly seen in Nginx logs and Cloudflare error pages.

2xx — Successful Responses

The request was successfully received, understood, and accepted by the server. These codes confirm the operation completed as expected. Defined in RFC 9110 §15.3.

1xx — Informational Responses

Interim responses indicating the server received the request and the client should continue. These are rarely seen in browser traffic but are used in protocol-level communication. Defined in RFC 9110 §15.2.

The HTTP Request-Response Lifecycle

Every time a browser loads a page, it sends an HTTP request to a server and receives a response. The status code in that response is the first thing the client checks to understand what happened:

1
DNS Resolution

The browser resolves the domain name to an IP address using DNS. If this fails, no HTTP request is made at all — you will see a DNS_PROBE_FINISHED_NXDOMAIN error instead of a status code.

2
TCP Connection

The browser opens a TCP connection to the server on port 80 (HTTP) or 443 (HTTPS). Connection refused or timeout errors occur here before any status code is returned.

3
TLS Handshake (HTTPS)

For HTTPS requests, the browser and server negotiate encryption. SSL/TLS errors occur at this stage, before any HTTP status code is exchanged.

4
HTTP Request Sent

The browser sends the request method (GET, POST, etc.), headers, and body. The server processes the request and determines the appropriate status code.

5
Server Processing

The server runs application logic, queries databases, checks authentication, and builds a response. Errors during this phase typically result in 4xx or 5xx status codes.

6
HTTP Response Returned

The server sends back a status code, response headers, and body. The status code tells the client whether to display content (2xx), follow a redirect (3xx), or show an error (4xx/5xx).

Status codes only appear at step 6 — if the connection fails before the HTTP layer, you will see browser-level or network errors instead. If you suspect a DNS or connectivity issue before the HTTP layer, use the DNS Inspector to check resolution and the Port Scanner to verify the server is accepting connections.

What Status Code Numbers Mean

HTTP status codes are grouped by their first digit into five classes. Each class tells you the general outcome of the request before you look at the specific code:

1xx — Informational

The server acknowledges the request and tells the client to continue or wait. These are provisional responses used during protocol negotiation and are rarely visible to end users.

2xx — Success

The request was received, understood, and accepted. The most common is 200 OK. Other codes like 201 Created and 204 No Content provide more specific success context for API consumers.

3xx — Redirection

The resource is available at a different location. The client (browser or HTTP client) should follow the redirect. The distinction between codes matters for SEO — 301 transfers link equity, 302 does not.

4xx — Client Error

The request has a problem on the client side. The URL may be wrong (404), authentication may be missing (401), or the request body may be malformed (400). The client needs to fix the request before retrying.

5xx — Server Error

The server failed to process a valid request. This means the problem is on the server side — application crashes (500), upstream failures (502), service overload (503), or timeout (504). These require server-side investigation and cannot be fixed by the client.

When to Investigate vs When to Ignore

Not every non-200 status code is a problem. Some are expected and healthy parts of HTTP communication:

Normal and Expected

  • 304 Not Modified — Healthy caching behavior. The browser uses its cached copy instead of downloading again.
  • 301/308 Redirects — Normal when migrating URLs, enforcing HTTPS, or adding/removing www. Only investigate redirect chains or loops.
  • 204 No Content — Expected for DELETE operations, preflight CORS requests, and tracking pixels.
  • 401 on login pages — Expected before the user provides credentials.

Needs Investigation

  • Any 5xx error — Always investigate. These indicate server-side failures that affect users. Check port connectivity and server logs.
  • Unexpected 404s — Pages that should exist returning 404 indicate broken links, routing issues, or deployment problems.
  • 429 rate limits — If your users or API clients are being rate limited, review your request patterns and implement backoff.
  • Redirect loops — 301/302 responses that keep redirecting in circles. Check DNS records and server configuration.

Monitor your error rates over time. A sudden spike in 5xx errors or 404s after a deployment is a strong signal that something broke. Occasional 4xx errors from bots and scanners are normal background noise.

References & Specifications

HTTP status codes are defined in official IETF specifications. These are the primary references for standard behavior.

Troubleshoot HTTP Errors with Free Tools

Diagnose the root cause of HTTP status code issues with these free diagnostic tools.

Related Error Code References

HTTP errors often overlap with SSL/TLS failures, SMTP delivery issues, and CDN-layer problems. These companion references cover error codes from adjacent protocols.

Frequently Asked Questions