DevUtils

HTTP Status Code Reference

New

Complete HTTP status code reference: all 1xx, 2xx, 3xx, 4xx, and 5xx codes with descriptions, use cases, and REST API guidance. Searchable and filterable. No signup required.

Showing 28 of 28 status codes

100

Continue

Server has received request headers and client should proceed with body

Use case: Large file uploads

101

Switching Protocols

Server is switching to a different protocol as requested

Use case: WebSocket upgrade

102

Processing

Server has received and is processing the request

Use case: WebDAV operations

103

Early Hints

Used to return some response headers before final HTTP message

Use case: Resource preloading hints

200

OK

Request has succeeded

Use case: General success response

201

Created

Request has succeeded and a new resource has been created

Use case: After POST creates resource

202

Accepted

Request accepted for processing but not yet completed

Use case: Async job queuing

204

No Content

Request succeeded but no content to return

Use case: After DELETE success

206

Partial Content

Server is delivering only part of the resource

Use case: Range requests (large file download)

301

Moved Permanently

Resource has been moved to a new URL permanently

Use case: Domain changes, HTTPS redirect

302

Found

Resource temporarily located at a different URL

Use case: Temporary redirect

304

Not Modified

Cached version is still valid

Use case: If-None-Match/ETag caching

307

Temporary Redirect

Temporary redirect (method must not change)

Use case: POST preserving redirect

308

Permanent Redirect

Permanent redirect (method must not change)

Use case: Same as 301 but method preserved

400

Bad Request

Request syntax is malformed

Use case: JSON parsing errors, invalid parameters

401

Unauthorized

Authentication is required or has failed

Use case: JWT token expired/missing

403

Forbidden

Access is forbidden (insufficient permissions)

Use case: Admin page access attempt

404

Not Found

Requested resource could not be found

Use case: Non-existent URLs

405

Method Not Allowed

HTTP method not allowed for this resource

Use case: GET to POST-only endpoint

408

Request Timeout

Server waited too long for the request

Use case: Slow client response

409

Conflict

Request conflicts with current resource state

Use case: Concurrent edit conflicts

410

Gone

Resource has been permanently removed

Use case: Permanently deleted resources

429

Too Many Requests

Request rate limit exceeded

Use case: Rate limiting

451

Unavailable For Legal Reasons

Resource blocked for legal reasons

Use case: Censorship/legal blocking

500

Internal Server Error

Server encountered an unexpected error

Use case: Unhandled server exceptions

502

Bad Gateway

Gateway received an invalid response from upstream

Use case: Nginx to app server connection failure

503

Service Unavailable

Server is temporarily unavailable

Use case: Maintenance, overload

504

Gateway Timeout

Gateway did not receive timely response

Use case: Proxy server response delay

About this tool

HTTP status codes are three-digit numbers returned by a web server to indicate the result of a request. They are grouped into five classes: 1xx (informational), 2xx (success), 3xx (redirection), 4xx (client errors), and 5xx (server errors). Understanding status codes is essential for web development, API design, debugging, and SEO—search engines use 301 vs 302 to decide whether to transfer link equity, and 404 vs 410 to decide whether to keep crawling a URL. This page is a complete HTTP status code reference with descriptions and practical guidance.

How to use

  1. 1Browse the full list of HTTP status codes grouped by class (1xx, 2xx, 3xx, 4xx, 5xx).
  2. 2Use the search box to filter by code number or keyword (e.g. "not found", "redirect").
  3. 3Click any status code to expand its full description, typical use cases, and REST API guidance.

Frequently asked questions

What is the difference between 301 and 302?
301 (Moved Permanently) tells clients and search engines that the resource has permanently moved—the old URL should be updated everywhere. 302 (Found / Temporary Redirect) tells clients to use the new URL this time but continue using the old URL in the future. For SEO, use 301 when you permanently rename or restructure URLs.
What is the difference between 401 and 403?
401 (Unauthorized) means the request requires authentication—the client needs to log in. 403 (Forbidden) means the server understood the request and the user may be authenticated, but does not have permission. In practice: 401 = 'who are you?', 403 = 'I know who you are, but you cannot do this.'
What is the difference between 404 and 410?
404 (Not Found) means the resource could not be found but might exist in the future. 410 (Gone) means the resource deliberately no longer exists and will not return. Search engines remove a 410 URL from their index quickly; a 404 may be retried and kept in the index longer.
When should I use 422 vs 400?
400 (Bad Request) is a general malformed-request error (syntax error, invalid JSON, missing field). 422 (Unprocessable Entity) means the request was syntactically valid but semantically incorrect—the server understood the content but cannot process it, such as when a field value violates a business rule. REST APIs increasingly use 422 for validation errors.