HTTP Status Code Reference
NewComplete HTTP status code reference: all 1xx, 2xx, 3xx, 4xx, and 5xx codes with descriptions, use cases, and REST API guidance. Searchable and filterable. No signup required.
Showing 28 of 28 status codes
Continue
Server has received request headers and client should proceed with body
Use case: Large file uploads
Switching Protocols
Server is switching to a different protocol as requested
Use case: WebSocket upgrade
Processing
Server has received and is processing the request
Use case: WebDAV operations
Early Hints
Used to return some response headers before final HTTP message
Use case: Resource preloading hints
OK
Request has succeeded
Use case: General success response
Created
Request has succeeded and a new resource has been created
Use case: After POST creates resource
Accepted
Request accepted for processing but not yet completed
Use case: Async job queuing
No Content
Request succeeded but no content to return
Use case: After DELETE success
Partial Content
Server is delivering only part of the resource
Use case: Range requests (large file download)
Moved Permanently
Resource has been moved to a new URL permanently
Use case: Domain changes, HTTPS redirect
Found
Resource temporarily located at a different URL
Use case: Temporary redirect
Not Modified
Cached version is still valid
Use case: If-None-Match/ETag caching
Temporary Redirect
Temporary redirect (method must not change)
Use case: POST preserving redirect
Permanent Redirect
Permanent redirect (method must not change)
Use case: Same as 301 but method preserved
Bad Request
Request syntax is malformed
Use case: JSON parsing errors, invalid parameters
Unauthorized
Authentication is required or has failed
Use case: JWT token expired/missing
Forbidden
Access is forbidden (insufficient permissions)
Use case: Admin page access attempt
Not Found
Requested resource could not be found
Use case: Non-existent URLs
Method Not Allowed
HTTP method not allowed for this resource
Use case: GET to POST-only endpoint
Request Timeout
Server waited too long for the request
Use case: Slow client response
Conflict
Request conflicts with current resource state
Use case: Concurrent edit conflicts
Gone
Resource has been permanently removed
Use case: Permanently deleted resources
Too Many Requests
Request rate limit exceeded
Use case: Rate limiting
Unavailable For Legal Reasons
Resource blocked for legal reasons
Use case: Censorship/legal blocking
Internal Server Error
Server encountered an unexpected error
Use case: Unhandled server exceptions
Bad Gateway
Gateway received an invalid response from upstream
Use case: Nginx to app server connection failure
Service Unavailable
Server is temporarily unavailable
Use case: Maintenance, overload
Gateway Timeout
Gateway did not receive timely response
Use case: Proxy server response delay
About this tool
HTTP status codes are three-digit numbers returned by a web server to indicate the result of a request. They are grouped into five classes: 1xx (informational), 2xx (success), 3xx (redirection), 4xx (client errors), and 5xx (server errors). Understanding status codes is essential for web development, API design, debugging, and SEO—search engines use 301 vs 302 to decide whether to transfer link equity, and 404 vs 410 to decide whether to keep crawling a URL. This page is a complete HTTP status code reference with descriptions and practical guidance.
How to use
- 1Browse the full list of HTTP status codes grouped by class (1xx, 2xx, 3xx, 4xx, 5xx).
- 2Use the search box to filter by code number or keyword (e.g. "not found", "redirect").
- 3Click any status code to expand its full description, typical use cases, and REST API guidance.
Frequently asked questions
- What is the difference between 301 and 302?
- 301 (Moved Permanently) tells clients and search engines that the resource has permanently moved—the old URL should be updated everywhere. 302 (Found / Temporary Redirect) tells clients to use the new URL this time but continue using the old URL in the future. For SEO, use 301 when you permanently rename or restructure URLs.
- What is the difference between 401 and 403?
- 401 (Unauthorized) means the request requires authentication—the client needs to log in. 403 (Forbidden) means the server understood the request and the user may be authenticated, but does not have permission. In practice: 401 = 'who are you?', 403 = 'I know who you are, but you cannot do this.'
- What is the difference between 404 and 410?
- 404 (Not Found) means the resource could not be found but might exist in the future. 410 (Gone) means the resource deliberately no longer exists and will not return. Search engines remove a 410 URL from their index quickly; a 404 may be retried and kept in the index longer.
- When should I use 422 vs 400?
- 400 (Bad Request) is a general malformed-request error (syntax error, invalid JSON, missing field). 422 (Unprocessable Entity) means the request was syntactically valid but semantically incorrect—the server understood the content but cannot process it, such as when a field value violates a business rule. REST APIs increasingly use 422 for validation errors.