Code & data · HTTPHTTP status codes

What a response code means, who is at fault — the client or the server — and what to do about it. Search by number, name or meaning; sixty-four codes with practice, not just definitions.

The reference runs entirely in your browser — nothing is sent anywhere
01Reference02Confusing pairs03About codes04Questions05Related
01

Code reference

search by number, name or meaning — «404», «not found», «rate limit»
Classes
Codes found: 64
Code card
404
Not FoundНе найдено
Client error4xx Client error

There is nothing at the address. The most recognisable code: the page was deleted, the address has a typo, or the link is stale.

Common causes
  • A typo in the address or a stale link
  • The page was deleted or renamed without a redirect
  • A routing mistake in the application
What to do
  • Check the address character by character: an extra slash and letter case matter
  • For a permanently removed resource answer 410 — it is more honest and clearer to search engines
Not to be confused with
Link to the code: bringer.ru/en/tools/http-status?code=404
02

Confusing pairs: what gets mixed up

301 · 302 · 308

Redirects
Moved Permanently

Permanent. Carries the page weight over — links are worth updating.

Found

Temporary. Passes no weight; links are left alone.

Permanent Redirect

Permanent and method-preserving: a POST stays a POST.

301 transfers the page's weight to the new address and is cached for a long time; 302 says «here for now» and links should stay; 308 is a 301 that preserves the request method, which is what an API needs.

401 · 403

Access
Unauthorized

The server does not know who you are: no token, or an expired one.

Forbidden

The server knows you and still refuses: the rights are missing.

401 — the server does not know who you are: sign in or refresh the token. 403 — it knows, but refuses: this is about permissions, and signing in again changes nothing.

200 · 204

Success
OK

Success with a body — and the body is what gets read.

No Content

Success with no body: check the status code and nothing else.

200 returns a body, 204 is success with none. A client expecting JSON from a 204 breaks while parsing an empty string.

400 · 422

Data
Bad Request

The request itself is broken: syntax, format, a missing parameter.

Unprocessable Content

The request was understood, but the values fail validation.

400 — the request itself is broken: syntax, format, a missing parameter. 422 — the request was understood but the data fails validation: an email without an at sign, a negative quantity.

502 · 504

Gateway
Bad Gateway

The upstream answered with something unusable — usually it has crashed.

Gateway Timeout

The upstream did not answer in time — alive, but far too slow.

502 — the upstream answered with something unusable or not at all; 504 — the answer did not arrive in time. The first usually means a crashed application, the second a slow one.

03

About HTTP codes

1xx — informational

Interim
100 · 101 · 103
The server accepted the request and keeps working. These are rarely seen in ordinary use: they appear when switching to WebSocket or when hinting the browser early.

2xx — success

All good
200 · 201 · 204
The request went through. 200 carries a body, 201 means a resource was created and its address is in `Location`, 204 is success with no body — the usual answer to a delete.

3xx — redirection

Redirect
301 · 302 · 304
The resource moved or has not changed. Telling a permanent move (301, 308) from a temporary one (302, 307) matters: the first transfers search weight and is cached for a long time.

4xx — client error

The request
400 · 401 · 404 · 429
The problem is in the request itself: a wrong address, missing permissions, an exceeded limit. It is fixed by whoever sent the request — the server is working fine.

5xx — server error

The server
500 · 502 · 503
The server failed to handle a valid request. Nothing to fix on the client: the logs hold the answer. On someone else's site, retrying later is all there is.

Who is at fault

Quick rule
4xx / 5xx
The first digit says where to look: 4xx in your own request, 5xx on the server. That is the first thing worth knowing when a code shows up — the rest is detail.
04

Frequently asked questions

There is nothing at the address: the page was deleted, renamed without a redirect, or the address has a typo. It is a 4xx error, which means the problem is in the request rather than on the server — the server is fine and honestly says «I have no such thing». If the page is gone for good and nothing will come back, 410 is the better answer: it says the same thing more definitely.

Updated

«» added to favorites