Complete reference of HTTP response status codes from 100 to 599. Search by code number, name, or description to quickly find what each status code means, what causes it, and how to troubleshoot it. Covers informational (1xx), success (2xx), redirection (3xx), client error (4xx), and server error (5xx) classes. Built for web developers, DevOps engineers, and anyone debugging API responses or server issues.
| Code | Status | Description / Common Causes |
|---|
curl -I https://example.com or browser DevTools (F12 → Network tab).
For API debugging, use curl -v for verbose output including headers.
An HTTP status code is a three-digit number returned by a web server in response to a client request. Codes are grouped into five classes: 1xx (informational), 2xx (success), 3xx (redirection), 4xx (client error), and 5xx (server error). For example, 200 means the request succeeded, 404 means the resource was not found, and 500 indicates an internal server error.
A 301 redirect is permanent — it tells browsers and search engines that the resource has moved to a new URL permanently, and SEO value transfers to the new URL. A 302 redirect is temporary, indicating the original URL should remain indexed. Using 301 for permanent URL changes preserves search rankings, while 302 is appropriate for maintenance pages or A/B testing.
A 403 status code means the server understood the request but refuses to authorize it. Common causes include incorrect file permissions on the server, directory listing being disabled, IP-based access controls or geoblocking, missing index file in a directory, or a web application firewall (WAF) blocking the request. Unlike 401 (Unauthorized), re-authenticating will not help with a 403.