Developer

HTTP Status Code Reference

Searchable reference of every HTTP status code with meaning, typical cause, and what to do about it.

Also available in:EspañolPortuguêsFrançaisDeutschItalianoNederlandsPolski

100

Continue

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

101

Switching Protocols

The server is switching protocols as requested, most often to WebSocket.

200

OK

The standard successful response. The body carries the requested resource.

201

Created

The request succeeded and a new resource was created. Return its location in the Location header.

202

Accepted

The request was accepted for processing but is not yet complete. Common for async jobs.

204

No Content

Success with no body to return. Widely used for DELETE and for PUT updates.

206

Partial Content

The server is returning part of the resource in response to a Range header, as used by video streaming.

301

Moved Permanently

The resource has permanently moved. Passes ranking signals to the new URL — the correct redirect for a permanent change.

302

Found

A temporary redirect. Search engines keep the original URL indexed, so never use it for a permanent move.

304

Not Modified

The cached copy is still valid. Sent in response to a conditional request and saves bandwidth.

307

Temporary Redirect

Like 302 but guarantees the HTTP method is not changed on redirect.

308

Permanent Redirect

Like 301 but preserves the request method and body.

400

Bad Request

The server could not parse the request. Usually malformed JSON or a missing required parameter.

401

Unauthorized

Authentication is missing or invalid. Despite the name this is about authentication, not permissions.

403

Forbidden

The identity is known but not allowed to do this. Retrying with the same credentials will not help.

404

Not Found

No resource at this URL. Must return a real 404 status — a "not found" page returning 200 is a soft 404.

405

Method Not Allowed

The URL exists but does not accept this HTTP method. Include an Allow header listing what it does accept.

409

Conflict

The request conflicts with current state, such as a duplicate unique key or a stale version.

410

Gone

Deliberately and permanently removed. Search engines drop a 410 from the index faster than a 404.

418

I'm a teapot

An April Fools joke from 1998 that browsers and servers have kept alive ever since.

422

Unprocessable Content

The syntax is valid but the content fails validation rules. Common in JSON APIs.

429

Too Many Requests

Rate limited. Include a Retry-After header so clients know when to try again.

500

Internal Server Error

An unhandled exception on the server. The catch-all when nothing more specific applies.

502

Bad Gateway

A proxy received an invalid response from upstream. Usually the application server is down or crashing.

503

Service Unavailable

Temporarily overloaded or in maintenance. The right code for planned downtime, with Retry-After set.

504

Gateway Timeout

A proxy waited too long for an upstream response. Points at a slow query or a hung dependency.

Everything runs in your browser. Your input is not uploaded to a server.

About the HTTP Status Codes

HTTP status codes carry more meaning than most APIs use. The difference between a 301 and a 302 determines whether ranking signals transfer; the difference between 401 and 403 is authentication versus authorisation. This searchable reference covers every standard code with its practical implications.

How to use the HTTP Status Codes

  1. Search by code number or by keyword.
  2. Filter by class — 2xx success, 3xx redirect, 4xx client error, 5xx server error.
  3. Read the meaning and the typical cause.
  4. Check the SEO note on the redirect and error codes that affect indexing.

Frequently asked questions

What is the difference between a 301 and a 302 redirect?

301 is permanent and passes ranking signals to the new URL; 302 is temporary and tells search engines to keep the original indexed. Using 302 for a permanent move is a common and costly mistake.

When should I return 404 rather than 410?

404 means not found, possibly temporarily. 410 means deliberately and permanently gone, and search engines typically drop a 410 URL from the index faster.

What is a soft 404?

A page that says "not found" to the user but returns HTTP 200. Search engines index it as a real page, which wastes crawl budget. Single-page applications produce these very easily.

What is the difference between 401 and 403?

401 means you have not authenticated, so credentials might help. 403 means you are authenticated but not allowed, so retrying with the same identity will not.