What Are HTTP Status Codes?

Every time a browser requests a web page, the server responds with a three-digit HTTP status code. This code tells the client (browser, bot, or API consumer) what happened with the request — whether it succeeded, failed, or requires further action.

Status codes are grouped into five classes based on their first digit:

1xx — Informational

These codes indicate the server has received the request and is continuing to process it. They are rarely seen directly by end users.

  • 100 Continue: The server has received the request headers and the client should proceed to send the body.
  • 101 Switching Protocols: The server is switching protocols as requested by the client (e.g., upgrading to WebSocket).

2xx — Success

These are the codes you want to see. They confirm the request was received, understood, and fulfilled.

  • 200 OK: The standard success response. The page loaded normally.
  • 201 Created: A resource was successfully created (common in REST APIs).
  • 204 No Content: The request succeeded but there's no content to return.

3xx — Redirection

These codes tell the client to take an additional step — usually to follow a redirect to a different URL.

  • 301 Moved Permanently: The resource has permanently moved to a new URL.
  • 302 Found: Temporary redirect to a different URL.
  • 303 See Other: Redirect to a different URL using GET (often after a POST).
  • 307 Temporary Redirect: Like 302, but strictly preserves the original HTTP method.
  • 308 Permanent Redirect: Like 301, but strictly preserves the original HTTP method.

4xx — Client Errors

These codes indicate the request contains bad syntax or cannot be fulfilled. The problem is on the client's side.

  • 400 Bad Request: The server couldn't understand the request due to invalid syntax.
  • 401 Unauthorized: Authentication is required and has failed or not been provided.
  • 403 Forbidden: The server understood the request but refuses to authorize it.
  • 404 Not Found: The requested resource does not exist on the server.
  • 410 Gone: The resource has been permanently removed and will not return.
  • 429 Too Many Requests: The client has sent too many requests in a given time (rate limiting).

5xx — Server Errors

These codes indicate the server failed to fulfill a valid request. The problem is on the server's side.

  • 500 Internal Server Error: A generic catch-all for server-side failures.
  • 502 Bad Gateway: The server, acting as a gateway, received an invalid response upstream.
  • 503 Service Unavailable: The server is temporarily unable to handle requests (overloaded or down for maintenance).
  • 504 Gateway Timeout: The upstream server failed to respond in time.

Which Status Codes Matter Most for SEO?

CodeSEO Impact
200Positive — page is indexable
301Positive — passes link equity to new URL
302Neutral/negative — link equity may not transfer
404Negative — page removed from index over time
410Faster de-indexing than 404
500/503Negative — crawlers may stop indexing the site

Key Takeaway

Understanding HTTP status codes helps you diagnose problems faster, configure redirects correctly, and protect your site's search visibility. Bookmark this guide as a quick reference whenever you're auditing a site or troubleshooting a broken URL.