HTTP Status Codes
Complete reference for all HTTP status codes — 1xx, 2xx, 3xx, 4xx and 5xx — with plain-English explanations. Free.
HTTP Status Code Categories
| Range | Category | Who is responsible |
|---|---|---|
| 100–199 | Informational | Server acknowledging the request is in progress |
| 200–299 | Success | Request succeeded |
| 300–399 | Redirection | Client must take additional action (follow redirect) |
| 400–499 | Client Error | The request was wrong — client's fault |
| 500–599 | Server Error | The request was valid but the server failed — server's fault |
Most Common HTTP Status Codes
200 OK — The request succeeded. Standard response for a successful GET, POST, PUT or DELETE.
201 Created — A new resource was created. Returned by POST endpoints after creating a database record.
204 No Content — Successful but no response body. Common for DELETE and PUT operations.
301 Moved Permanently — The resource has a new permanent URL. Search engines transfer link equity to the new URL. Use for permanent migrations.
302 Found — Temporary redirect. Search engines keep indexing the original URL. Use for A/B tests and temporary maintenance pages.
400 Bad Request — The server could not understand the request. Check headers, body format and query parameters.
401 Unauthorized — Authentication is required or has failed. Check your API token, session cookie or login credentials.
403 Forbidden — Authenticated but not authorised. The account lacks the required role or permission.
404 Not Found — The resource does not exist at this URL. Check the path, verify the resource exists.
429 Too Many Requests — Rate limit exceeded. Implement exponential backoff and respect the Retry-After header.
500 Internal Server Error — Generic server failure. Check server logs for the root cause.
502 Bad Gateway — An upstream server (load balancer, proxy, CDN) received an invalid response from the origin server.
503 Service Unavailable — Server temporarily overloaded or in planned maintenance. Usually temporary.
HTTP Status Codes and SEO
Status codes directly affect how search engines index your site. 200 pages get indexed normally. 301 redirects pass PageRank to the destination URL. 404 pages are removed from the index after several failed crawls. 410 Gone signals permanent deletion — faster de-indexing than 404. 503 with a Retry-After header tells Googlebot to come back later instead of de-indexing. Never return a 200 status on an error page ("soft 404") — Google detects it and treats it as a quality signal against your domain.