Bx
ToolPile
All Tools

HTTP Status Code Reference

Quick reference for all HTTP status codes with descriptions and use cases.

Advertisement
100

Continue

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

101

Switching Protocols

The server is switching protocols as requested by the client via the Upgrade header.

102

Processing

The server has received and is processing the request, but no response is available yet.

103

Early Hints

Used to return some response headers before final HTTP message. Allows preloading resources.

200

OK

Standard response for successful HTTP requests. The meaning varies by method (GET returns resource, POST returns result).

201

Created

The request has been fulfilled and a new resource has been created.

202

Accepted

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

204

No Content

The server successfully processed the request but returns no content.

206

Partial Content

The server is delivering only part of the resource due to a Range header sent by the client.

301

Moved Permanently

The resource has been permanently moved to a new URL. Search engines transfer ranking to the new URL.

302

Found

The resource temporarily resides at a different URL. The client should continue using the original URL.

303

See Other

The response can be found at another URL using a GET request. Often used after POST/PUT.

304

Not Modified

The resource has not been modified since the version specified by If-Modified-Since or If-None-Match headers.

307

Temporary Redirect

Like 302, but guarantees that the method and body will not change when the request is reissued.

308

Permanent Redirect

Like 301, but guarantees that the method and body will not change when the request is reissued.

400

Bad Request

The server cannot process the request due to a client error (malformed syntax, invalid parameters).

401

Unauthorized

Authentication is required. The client must authenticate itself to get the requested response.

403

Forbidden

The server understood the request but refuses to authorise it. Unlike 401, re-authenticating will not help.

404

Not Found

The requested resource could not be found on the server. The most common error on the web.

405

Method Not Allowed

The request method is not supported for the resource (e.g., GET on a POST-only endpoint).

406

Not Acceptable

The server cannot produce a response matching the Accept headers sent by the client.

408

Request Timeout

The server timed out waiting for the request from the client.

409

Conflict

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

410

Gone

The resource is no longer available and will not be available again. Unlike 404, this is permanent.

413

Payload Too Large

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

414

URI Too Long

The URI requested by the client is longer than the server is willing to interpret.

415

Unsupported Media Type

The media type of the request data is not supported by the server.

418

I'm a Teapot

An April Fools joke from 1998 (RFC 2324). The server refuses to brew coffee because it is a teapot.

422

Unprocessable Entity

The request was well-formed but contains semantic errors (commonly used in REST APIs for validation).

429

Too Many Requests

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

451

Unavailable For Legal Reasons

The resource is unavailable due to legal demands (censorship, court order).

500

Internal Server Error

A generic error when the server encounters an unexpected condition.

501

Not Implemented

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

502

Bad Gateway

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

503

Service Unavailable

The server is currently unable to handle the request due to maintenance or overload.

504

Gateway Timeout

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

36 of 36 status codes shown

Advertisement

An HTTP status code is a three-digit number a server returns with every response, telling the browser, crawler, or API client what happened to the request. This reference groups the codes into their five classes and explains the ones you will actually encounter, along with how each affects users and search engines.

How to use it

  1. Find the status code you received in your browser console, server logs, or an API response.
  2. Match the first digit to its class below to understand the general category (success, redirect, client error, or server error).
  3. Look up the specific code to read its precise meaning and the typical cause.
  4. Check whether it is permanent or temporary, since that decides whether to fix configuration, retry the request, or update a link.

The five status code classes

Every code falls into one of five ranges, signalled by its leading digit:

ClassMeaning
1xxInformational — request received, processing continues
2xxSuccess — the request was understood and accepted
3xxRedirection — further action is needed to complete the request
4xxClient error — the request was malformed or not allowed
5xxServer error — the server failed to fulfil a valid request

The codes that matter most in day-to-day work: 200 OK, the standard success response. 301 is a permanent redirect that passes ranking signals to the new URL, while 302 is temporary and keeps the original URL indexed. 304 Not Modified tells the browser its cached copy is still valid. 400 means a bad request, 401 requires authentication, and 403 means access is forbidden even when authenticated. 404 Not Found signals a missing resource, whereas 410 Gone confirms it was removed deliberately and permanently. 429 Too Many Requests indicates rate limiting. On the server side, 500 is a generic internal error, 502 a bad gateway, and 503 a service that is temporarily unavailable.

FAQ

What is the difference between 301 and 302 for SEO?

A 301 permanently moves a page and tells search engines to transfer ranking signals to the destination and index it instead. A 302 is temporary, so engines keep the original URL indexed. Using 302 when you meant 301 can prevent the new URL from ever taking over in results.

Should I use 404 or 410 for deleted pages?

Both keep a page out of search results. A 404 suggests the resource might return, so crawlers may revisit it. A 410 states the page is permanently gone, which can prompt faster removal from the index. Use 410 when you are certain the content will never come back.

What does a 429 mean and how do I respond?

A 429 means you have sent too many requests in a given window and have been rate limited. Responses often include a Retry-After header indicating how long to wait. Slow your request rate or back off exponentially before trying again.

Are 5xx errors my fault or the server's?

5xx codes signal a server-side failure, not a problem with your request. A 502 or 503 usually points to an overloaded or misconfigured backend or gateway. They are often temporary, so retrying after a short delay is reasonable, but persistent 5xx errors need investigation on the server.