All Apps

HTTP Status Code Lookup & Guide

Client-SideOffline ReadyDev ToolsNo login required

Complete RFC reference and developer fix guides for all 1xx, 2xx, 3xx, 4xx, and 5xx HTTP response status codes with code snippets.

The user has sent too many requests in a given amount of time ("rate limiting").

Common Causes
  • Exceeding API quota, brute force attempt, aggressive scraping.
Developer Resolutions
  • Always include "Retry-After" header indicating seconds until client can retry.
Code Implementation Snippets
Express / Node.js
res.set("Retry-After", "60").status(429).json({ error: "Rate limit exceeded" })
Python FastAPI
return Response(status_code=429, headers={"Retry-After": "60"})

Complete RFC Catalog

Search all standard HTTP status codes from 100 to 511 with official RFC specifications, cacheability rules, and causes.

Developer Fix Guides

Clear explanations on why errors happen (401 vs 403, 301 vs 308, 502 vs 504) and step-by-step resolution playbooks.

Code Implementation Snippets

Copy ready-to-use status code response handlers for Express / Node.js, Python FastAPI, and Go net/http.

Frequently Asked Questions

What is the difference between HTTP 401 Unauthorized and 403 Forbidden?
401 Unauthorized means authentication credentials are missing or invalid (you need to log in). 403 Forbidden means the server recognizes who you are, but you do not have permission to access the resource.
What is the difference between HTTP 301 and 308 redirects?
Both are permanent redirects, but 308 strictly preserves the original HTTP method (e.g. POST remains POST), whereas 301 historically permitted browsers to rewrite POST to GET.
What causes HTTP 502 Bad Gateway and 504 Gateway Timeout errors?
502 Bad Gateway means a proxy (like Nginx or Cloudflare) received an invalid response or closed socket from your backend server. 504 Gateway Timeout means the backend server took too long to reply.
Recommended For You

More Dev Tools Utilities

View all Dev Tools tools