HTTP Status Codes

Complete Reference Guide

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
Tip: Check status codes with curl -I https://example.com or browser DevTools (F12 → Network tab). For API debugging, use curl -v for verbose output including headers.

1xx Informational

  • 100Continue
  • 101Switching Protocols
  • 102Processing
  • 103Early Hints

2xx Success

  • 200OK
  • 201Created
  • 204No Content
  • 206Partial Content

3xx Redirection

  • 301Moved Permanently
  • 302Found (Temporary)
  • 304Not Modified
  • 307Temporary Redirect

4xx Client Errors

  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found

5xx Server Errors

  • 500Internal Server Error
  • 502Bad Gateway
  • 503Service Unavailable
  • 504Gateway Timeout

Frequently Asked Questions

What is an HTTP status code?

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.

What is the difference between a 301 and 302 redirect?

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.

What does a 403 Forbidden error mean?

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.