HTTP Status Codes: The Complete Reference (200 to 503)
2025-06-22 6 min read
200, 301, 404, 500 โ HTTP status codes communicate what happened with every web request. This developer reference covers all major status codes with clear explanations.
HTTP status codes are 3-digit numbers that tell you what happened with a web request. Understanding them is essential for debugging APIs, reading server logs, and building robust applications. Here's the complete reference.
1xx: Informational
- 100 Continue: Server received request headers, client should proceed
- 101 Switching Protocols: Server switching to WebSocket or HTTP/2
2xx: Success
- 200 OK: Request succeeded. Default success response.
- 201 Created: Resource created (use after POST)
- 204 No Content: Success but nothing to return (DELETE, PATCH)
- 206 Partial Content: Range request fulfilled (file downloads, streaming)
3xx: Redirects
- 301 Moved Permanently: URL changed forever. Browsers and bots cache this.
- 302 Found: Temporary redirect. Bots don't update their links.
- 304 Not Modified: Cached version is still valid
- 307/308: Like 302/301 but preserve HTTP method (don't change POST to GET)
4xx: Client Errors
- 400 Bad Request: Malformed request syntax or invalid parameters
- 401 Unauthorized: Authentication required
- 403 Forbidden: Authenticated but not authorized
- 404 Not Found: Resource doesn't exist
- 409 Conflict: Request conflicts with current state (duplicate entry)
- 422 Unprocessable Entity: Validation errors in request body
- 429 Too Many Requests: Rate limited
5xx: Server Errors
- 500 Internal Server Error: Generic server error โ check logs
- 502 Bad Gateway: Upstream server returned bad response
- 503 Service Unavailable: Server overloaded or in maintenance
- 504 Gateway Timeout: Upstream server didn't respond in time