Skip to content

Cheatsheets & Reference

HTTP Status Code Reference

Searchable list of all HTTP status codes with explanations.

native Client-side

1xx — Informational

4
100

100 Continue

The server has received the request headers and the client should proceed to send the request body.

101

101 Switching Protocols

The server is switching to the protocol specified in the Upgrade header (e.g. WebSocket).

102

102 Processing

The server has received the request and is still processing it (WebDAV).

103

103 Early Hints

Used to return some response headers before the final response (e.g. preloading resources).

2xx — Success

5
200

200 OK

The request succeeded. The meaning of "success" depends on the HTTP method.

201

201 Created

The request succeeded and a new resource was created. Typically returned after POST or PUT.

202

202 Accepted

The request has been accepted for processing, but processing is not yet complete.

204

204 No Content

The request succeeded but there is no content to return. Common for DELETE operations.

206

206 Partial Content

The server is delivering only part of the resource (used with Range headers for downloads).

3xx — Redirection

6
301

301 Moved Permanently

The resource has been permanently moved to a new URL. Search engines update their index.

302

302 Found (Temporary Redirect)

The resource is temporarily available at a different URL. The original URL should still be used.

303

303 See Other

The response can be found at another URL using a GET request (often after POST).

304

304 Not Modified

The cached version is still valid. No content is returned — the browser uses its cache.

307

307 Temporary Redirect

Like 302, but guarantees the HTTP method won't change (POST stays POST).

308

308 Permanent Redirect

Like 301, but guarantees the HTTP method won't change.

4xx — Client Errors

12
400

400 Bad Request

The server cannot process the request due to malformed syntax, invalid parameters, or missing data.

401

401 Unauthorized

Authentication is required. The client must provide valid credentials (e.g. a Bearer token).

403

403 Forbidden

The server understood the request but refuses to authorize it. Authentication won't help.

404

404 Not Found

The requested resource does not exist on the server.

405

405 Method Not Allowed

The HTTP method (GET, POST, etc.) is not supported for this resource.

408

408 Request Timeout

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

409

409 Conflict

The request conflicts with the current state of the resource (e.g. duplicate entry).

410

410 Gone

The resource has been permanently deleted and is no longer available.

413

413 Payload Too Large

The request body is larger than the server is willing to process.

415

415 Unsupported Media Type

The server doesn't support the Content-Type of the request body.

422

422 Unprocessable Entity

The request is well-formed but contains semantic errors (e.g. validation failures).

429

429 Too Many Requests

The client has sent too many requests in a given time period (rate limiting).

5xx — Server Errors

5
500

500 Internal Server Error

An unexpected condition was encountered on the server. A generic catch-all error.

501

501 Not Implemented

The server does not support the functionality required to fulfill the request.

502

502 Bad Gateway

The server, acting as a gateway/proxy, received an invalid response from the upstream server.

503

503 Service Unavailable

The server is temporarily unable to handle the request (overloaded or down for maintenance).

504

504 Gateway Timeout

The server, acting as a gateway, did not receive a timely response from the upstream server.

HTTP Status Codes — A Complete Reference

HTTP status codes are three-digit numbers returned by a web server in response to a client's request. They are defined in RFC 9110 and are a fundamental part of the HTTP protocol. Understanding these codes is essential for debugging API integrations, diagnosing web application errors, and building robust backend services. Status codes are grouped into five classes: 1xx (informational), 2xx (success), 3xx (redirection), 4xx (client errors), and 5xx (server errors). This reference covers every commonly encountered status code with a plain-English explanation and the most common causes. Use the search bar to instantly find the code you're looking for — whether by number, name, or description.

Frequently Asked Questions

What does a 403 Forbidden error mean?

A 403 error means the server understood your request but refuses to authorize it. Unlike 401 (which means "you need to log in"), 403 means authentication won't help — you simply don't have permission. Common causes include IP blocklists, file permission issues, or server configuration rules that deny access to certain paths.

What's the difference between 401 and 403?

401 Unauthorized means "I don't know who you are — please authenticate." 403 Forbidden means "I know who you are, but you're not allowed to access this." Use 401 when credentials are missing or invalid; use 403 when the authenticated user lacks the required permissions.

When should I use 404 vs 410?

Use 404 Not Found when a resource doesn't exist (or you don't want to reveal whether it exists). Use 410 Gone when a resource has been intentionally and permanently deleted — this tells search engines to remove it from their index, while 404 might be recrawled.

What causes a 502 Bad Gateway error?

A 502 error occurs when a server acting as a gateway or proxy (like Nginx, Cloudflare, or a load balancer) receives an invalid response from the upstream server. Common causes include the upstream application crashing, timing out during startup, or returning malformed HTTP responses.