HTTP Status Codes Explained

HTTP Status Codes Explained

HTTP status codes are the three-digit numbers a server returns to tell you what happened to a request. You saw a 404, a 301, or a 500 and want to know what it means and what to do next. Here is a fast, accurate guide.

The five HTTP status code classes

Every code falls into one of five ranges, and the first digit tells you the family:

  • 1xx Informational: the request was received and is still being processed. You rarely see these directly.
  • 2xx Success: the request worked.
  • 3xx Redirection: the resource lives somewhere else, follow the pointer.
  • 4xx Client error: the request was wrong (bad URL, missing auth, no permission).
  • 5xx Server error: the request was fine but the server failed.

If you only remember one thing: 4xx means fix the request, 5xx means fix the server.

Success and redirects (2xx and 3xx)

  • 200 OK: the request succeeded. This is the normal response for a working page.
  • 201 Created: a new resource was created, common after a POST to an API.
  • 301 Moved Permanently: the URL has moved for good. Use 301 for permanent moves so search engines transfer ranking signals to the new URL and update their index.
  • 302 Found (temporary): the move is temporary, so the original URL keeps its SEO value. Do not use 302 for a permanent move, or you waste link equity and confuse crawlers.
  • 304 Not Modified: the resource has not changed since the browser last fetched it, so the cached copy is reused. This is a caching win, not an error.

The 301 vs 302 distinction is the one that bites SEOs most. Permanent move equals 301, every time.

Client and server errors (4xx and 5xx)

  • 401 Unauthorized: you are not authenticated. The server does not know who you are, so log in or send valid credentials.
  • 403 Forbidden: you are authenticated but not allowed. The server knows who you are and is still saying no, so this is a permissions problem, not a login problem.
  • 404 Not Found: the URL does not exist. Check for typos or a moved page that needs a 301.
  • 410 Gone: the resource was here and is permanently removed. Unlike 404, it tells crawlers to stop trying and drop the URL faster.
  • 429 Too Many Requests: you are rate limited. Slow down and respect any Retry-After header.
  • 500 Internal Server Error: a generic server crash. Check application logs.
  • 502 Bad Gateway: a proxy or load balancer got an invalid response from the upstream server.
  • 503 Service Unavailable: the server is overloaded or down for maintenance. Usually temporary.

Look up any code

When you hit a code you do not recognize, the HTTP Status Codes Reference gives you the meaning and the fix in seconds:

  1. Open the HTTP Status Codes Reference.
  2. Type the code or browse by class.
  3. Read the plain-English meaning and the recommended action.

It runs entirely in your browser, so nothing you type leaves your device.

Read the first digit, fix the request or the server, and reach for the reference when a code surprises you.

← All posts