87+ Local Tools Available
100% Browser Execution (No Uploads)
Zero Latency Instant Output
100% Private & Secure
Developer & Data Client Local

HTTP Status Code Dictionary

A complete developer reference for HTTP status codes (1xx Informational, 2xx Success, 3xx Redirection, 4xx Client Error, 5xx Server Error). Search codes instantly to diagnose root causes, inspect relevant headers, and implement effective troubleshooting fixes.

Client-Side 100% - Zero Latency Local Reference

1xx Informational

Request received, continuing process

100Continue
Continue

Initial part of the request received; client may continue sending the remainder of the payload.

Not cacheableDetail
101Switching Protocols
Switch Protocols

Server accepts the client request to switch communication protocols (e.g., HTTP to WebSocket).

Not cacheableDetail
103Early Hints
Early Hints

Allows browser to preload critical resources (CSS, JS) while server prepares final response.

Not cacheableDetail

2xx Success

Action successfully received, understood, and accepted

200OK
Success

Standard successful HTTP request response.

Cacheable by default (GET/HEAD)Detail
201Created
Resource Created

Request fulfilled and resulted in the creation of one or more new resources.

Cacheable under specific conditionsDetail
202Accepted
Accepted (Async)

Request accepted for processing, but processing has not completed.

Not cacheableDetail
204No Content
No Content

Request processed successfully, but no content is returned in the response body.

Cacheable by defaultDetail
206Partial Content
Partial Content

Server delivers only a portion of the resource as specified in the client Range header.

Cacheable under specific conditionsDetail

3xx Redirection

Further action needed to complete the request

301Moved Permanently
Moved Permanently (SEO)

Resource has been assigned a new permanent URI.

Cacheable by defaultDetail
302Found
Temporary Redirect

Resource temporarily resides under a different URI.

Not cacheable unless explicit Cache-ControlDetail
304Not Modified
Not Modified (Cache)

Conditional request indicates resource has not changed; client should reuse cached copy.

Cache refresh responseDetail
307Temporary Redirect
Temporary (Preserve Method)

Resource temporarily located at another URI; original HTTP method (POST, PUT) MUST NOT be changed.

Not cacheableDetail
308Permanent Redirect
Permanent (Preserve Method)

Resource permanently moved; original HTTP method and body MUST NOT be altered.

Cacheable by defaultDetail

4xx Client Error

Request contains bad syntax or cannot be fulfilled

400Bad Request
Bad Request

Server cannot process request due to malformed syntax or invalid parameters.

Not cacheableDetail
401Unauthorized
Authentication Required

Request requires valid authentication credentials (missing, invalid, or expired token).

Not cacheableDetail
403Forbidden
Access Denied

Server authenticated the client, but the client lacks permission for the resource.

Not cacheableDetail
404Not Found
Not Found

Server cannot locate the requested resource URI.

Cacheable under specific conditionsDetail
405Method Not Allowed
Method Not Allowed

Request method (GET, POST, etc.) is not supported for the target resource.

Not cacheableDetail
408Request Timeout
Request Timeout

Server timed out waiting for the complete client request.

Not cacheableDetail
409Conflict
Conflict

Request conflicts with the current state of the target resource.

Not cacheableDetail
410Gone
Permanently Removed (SEO)

Target resource has been permanently deleted with no forwarding address.

Cacheable by defaultDetail
413Payload Too Large
Payload Too Large

Request payload exceeds the size limit defined by the server.

Not cacheableDetail
415Unsupported Media Type
Unsupported Media Type

Payload format (Content-Type) is not supported by the server.

Not cacheableDetail
422Unprocessable Entity
Validation Error

Request syntax is valid, but semantic validation instructions failed.

Not cacheableDetail
429Too Many Requests
Rate Limit Exceeded

User has sent too many requests in a given amount of time (rate limit exceeded).

Not cacheableDetail

5xx Server Error

Server failed to fulfill an apparently valid request

500Internal Server Error
Internal Server Error

Server encountered an unexpected condition that prevented it from fulfilling the request.

Not cacheableDetail
501Not Implemented
Not Implemented

Server does not support the functionality required to fulfill the request.

Not cacheableDetail
502Bad Gateway
Bad Gateway (Upstream Down)

Reverse proxy / gateway (Nginx, Cloudflare) received an invalid response from upstream server.

Not cacheableDetail
503Service Unavailable
Service Unavailable

Server is currently unable to handle request due to temporary overload or scheduled maintenance.

Not cacheableDetail
504Gateway Timeout
Gateway Timeout

Gateway / reverse proxy did not receive timely response from upstream server.

Not cacheableDetail
Web Architecture & API Standard Guide

Mastering HTTP Status Codes: Best Practices and Troubleshooting Strategies

HTTP status codes represent the fundamental communication protocol between client applications and backend infrastructure.

Correct status code implementation simplifies frontend error orchestration, optimizes search engine indexing, and accelerates incident resolution.

Full RFC Standard Coverage

Comprehensive 1xx to 5xx reference derived from RFC 9110 and modern API standards

Root Cause & Fix Playbooks

Actionable developer debugging steps, common pitfalls, and related HTTP header references

Instant Search & Keyboard Shortcuts

Real-time filtering across code numbers, keywords, and semantic categories with ⌘K support

Key HTTP Status Codes Summary Table

CodeNameCategoryCacheablePrimary Scenario
200OK2xx SuccessYesStandard successful GET/POST operation
201Created2xx SuccessConditionalNew resource created via POST (includes Location header)
204No Content2xx SuccessYesSuccessful DELETE or update with no return body required
301Moved Permanently3xx RedirectPermanentPermanent URL change transferring 100% SEO authority
304Not Modified3xx RedirectRefreshRe-uses browser ETag cache, skipping body transfer
400Bad Request4xx ClientNoMalformed syntax, missing required fields, schema error
401Unauthorized4xx ClientNoMissing or expired authentication token (login required)
403Forbidden4xx ClientNoAuthenticated user lacks required access role/permission
404Not Found4xx ClientConditionalRequested URI or database entity does not exist
429Too Many Requests4xx ClientNoRate limit exceeded; inspect Retry-After header
500Internal Server Error5xx ServerNoUnhandled backend application crash or exception
502Bad Gateway5xx ServerNoReverse proxy unable to reach backend application process
504Gateway Timeout5xx ServerNoUpstream process timed out during slow database query

1. REST API Status Code Best Practices

Avoid 200 OK with error payloads: Returning 200 with an { error: true } body breaks client interceptors, CDN caching, and API gateway telemetry. Always utilize authentic 4xx and 5xx status codes.

Distinguish 200, 201, and 204: Return 201 Created with a Location header upon POST creation, 204 No Content for DELETE completions, and 200 OK for standard payload delivery.

401 Unauthorized vs 403 Forbidden: Use 401 when identity cannot be verified (missing/expired token) and 403 when identity is verified but permission scope is insufficient.

2. 301 vs 302 vs 307 vs 308: Preserving SEO Equity

301 Moved Permanently: Passes all link equity to the target URI. Extensively cached by browsers.

302 vs 307: 302 historically permitted browsers to rewrite POST into GET. Use 307 to strictly preserve HTTP method and payload.

308 Permanent Redirect: The modern permanent redirect that enforces exact method preservation.

3. Client vs Server Error Handling Patterns

4xx Handling: Guide users to rectify input mistakes via inline validation alerts (400, 422) or handle silent token refreshes (401).

5xx Handling: Display non-technical error screens, avoid leaking internal stack traces, and dispatch alerts to error monitoring pipelines (Sentry).

4. Rate Limiting and Retry-After Strategy

• When consuming external APIs, respect 429 Too Many Requests by extracting the Retry-After duration.

• Implement exponential backoff with jitter to avoid coordinated thundering herd retry storms against struggling servers.

5. Nginx 502 Bad Gateway vs 504 Gateway Timeout Diagnostics

502 Bad Gateway: Downstream application process is dead or not listening on the configured socket/port.

504 Gateway Timeout: Downstream process is alive but executing a slow query that exceeds proxy_read_timeout.

Frequently Asked Questions (FAQ)

Q.Why is returning 200 OK with error body considered an anti-pattern?
A.It prevents HTTP caching layers, client interceptors (Axios/Fetch), and infrastructure monitors from distinguishing failures, requiring verbose manual response body checks on every request.
Q.What is the precise difference between 401 and 403?
A.401 Unauthorized means "I do not know who you are (authentication required)". 403 Forbidden means "I know who you are, but you do not have permission to access this resource".
Q.How can I debug a persistent 301 redirect in development?
A.Because browsers cache 301 redirects aggressively, disable cache in DevTools Network tab or test redirects using 302/307 before deploying 301 to production.
Q.Is HTTP 418 I am a teapot an official standard?
A.It originated as an April Fools joke in RFC 2324 (HTCPCP). While not part of core HTTP specifications, it is widely implemented across web frameworks as a developer easter egg.

Related Tools

Port Number Dictionary

Look up well-known network ports like HTTP, SSH, and MySQL, along with their security risks.

User Agent Analyzer

Client-side User Agent Analyzer tool running 100% in browser.