HTTP Status Codes

HTTP status codes are three-digit responses from web servers indicating the result of a request. They are grouped into five classes based on the first digit.

200
OK
301
Moved Permanently
304
Not Modified
404
Not Found
500
Server Error
503
Unavailable
info Status Code Classes

1xx Informational | 2xx Success | 3xx Redirection | 4xx Client Error | 5xx Server Error

info

1xx Informational

Request received, continuing process

Code Name Description
100 Continue Server received request headers; client should proceed with body
101 Switching Protocols Server is switching protocols as requested (e.g., to WebSocket)
102 Processing Server has received request but not yet completed (WebDAV)
103 Early Hints Used with Link header to preload resources while server prepares response
check_circle

2xx Success

Request successfully received, understood, and accepted

Code Name Description
200COMMON OK Standard success response. Body contains requested resource
201COMMON Created Request succeeded and new resource was created (POST/PUT)
202 Accepted Request accepted for processing but not yet completed
203 Non-Authoritative Info Metadata from third-party copy, not origin server
204COMMON No Content Success with no body to return. Common for DELETE requests
205 Reset Content Success; client should reset the document view
206 Partial Content Range request successful; body contains requested ranges
207 Multi-Status Multiple status codes for multiple resources (WebDAV)
208 Already Reported DAV binding already enumerated; prevents repeated listings
226 IM Used Server fulfilled GET request with instance-manipulations
redo

3xx Redirection

Further action needed to complete the request

Code Name Description
300 Multiple Choices Multiple options for the resource; client may choose one
301COMMON Moved Permanently Resource permanently moved. Use for permanent URL changes (SEO-friendly)
302COMMON Found Temporary redirect. Method may change to GET (historically)
303 See Other Redirect with GET to different URI (e.g., after POST)
304COMMON Not Modified Cached version is still valid; no body sent
305 Use Proxy Deprecated. Resource only available through proxy
307 Temporary Redirect Temporary redirect; method and body unchanged
308 Permanent Redirect Permanent redirect; method and body unchanged (like 301 but stricter)
lightbulb 301 vs 302 vs 307 vs 308

301/308: Permanent (cached by browsers, SEO passes link equity). 302/307: Temporary (not cached, SEO keeps original).
301/302: May change POST to GET. 307/308: Method preserved (use for API redirects).

warning

4xx Client Errors

Request contains bad syntax or cannot be fulfilled

Code Name Description
400COMMON Bad Request Malformed request syntax, invalid parameters
401COMMON Unauthorized Authentication required. Include WWW-Authenticate header
402 Payment Required Reserved for future use (digital payment systems)
403COMMON Forbidden Server understood but refuses. Unlike 401, authenticating won't help
404COMMON Not Found Resource does not exist at this URI
405 Method Not Allowed HTTP method not supported for this resource
406 Not Acceptable Resource cannot satisfy Accept headers
407 Proxy Auth Required Like 401 but for proxy server authentication
408 Request Timeout Server timed out waiting for the request
409 Conflict Request conflicts with current state (e.g., edit conflict)
410 Gone Resource permanently deleted. Unlike 404, it existed before
411 Length Required Content-Length header required
412 Precondition Failed Precondition header (If-Match, etc.) evaluated to false
413 Payload Too Large Request body exceeds server limits
414 URI Too Long Request URI exceeds server limits
415 Unsupported Media Type Content-Type not supported by the endpoint
416 Range Not Satisfiable Range header cannot be satisfied
417 Expectation Failed Expect header cannot be met by server
418 I'm a Teapot April Fools' joke (RFC 2324). Sometimes used to reject bots
421 Misdirected Request Request directed at server unable to produce response
422COMMON Unprocessable Entity Well-formed but semantically invalid (validation errors)
423 Locked Resource is locked (WebDAV)
424 Failed Dependency Request failed due to previous request failure (WebDAV)
425 Too Early Server unwilling to process potentially replayed request
426 Upgrade Required Client should upgrade to different protocol
428 Precondition Required Server requires request to be conditional
429COMMON Too Many Requests Rate limiting. Check Retry-After header
431 Headers Too Large Request headers exceed server limits
451 Unavailable For Legal Resource blocked for legal reasons (censorship, DMCA)
warning 401 vs 403

401 Unauthorized: Identity unknown. Provide credentials and retry.
403 Forbidden: Identity known but not permitted. Re-authenticating won't help.

error

5xx Server Errors

Server failed to fulfill a valid request

Code Name Description
500COMMON Internal Server Error Generic server error. Check server logs for details
501 Not Implemented Server doesn't support functionality required
502COMMON Bad Gateway Invalid response from upstream server (proxy/gateway)
503COMMON Service Unavailable Server overloaded or down for maintenance
504COMMON Gateway Timeout Upstream server didn't respond in time
505 HTTP Version Not Supported Server doesn't support the HTTP version used
506 Variant Also Negotiates Transparent content negotiation circular reference
507 Insufficient Storage Server cannot store representation (WebDAV)
508 Loop Detected Infinite loop detected while processing (WebDAV)
510 Not Extended Further extensions required for the request
511 Network Auth Required Client must authenticate to gain network access (captive portal)

Unofficial but Common Codes

Code Name Used By
520 Web Server Unknown Error Cloudflare
521 Web Server Is Down Cloudflare
522 Connection Timed Out Cloudflare
523 Origin Is Unreachable Cloudflare
524 A Timeout Occurred Cloudflare
525 SSL Handshake Failed Cloudflare
526 Invalid SSL Certificate Cloudflare
530 Site Frozen Pantheon

Test Your Website

Check HTTP headers and status codes for any URL.

http HTTP Header Check