RFC 9110 HTTP status codes directory with troubleshooting guides, cacheability, and browser behaviors
RFC 9110 HTTP Status Codes
Detailed developer specifications, cacheability rules, and troubleshooting tips.
100
Continue
RFC 9110
Client should proceed with the request or ignore if already sent.
Troubleshooting & Guidance:
Inspect Expect: 100-continue header sent by client.
Cacheable: NoAllows Body: No
101
Switching Protocols
RFC 9110
Server accepts request to switch communication protocols.
Troubleshooting & Guidance:
Check Upgrade and Connection: Upgrade headers.
Cacheable: NoAllows Body: No
102
Processing
RFC 2518
Server has received and is processing the request, but no response is available yet.
Troubleshooting & Guidance:
Used in WebDAV; check backend queue latency.
Cacheable: NoAllows Body: No
103
Early Hints
RFC 8297
Returns Link headers so user agent can preload critical resources.
Troubleshooting & Guidance:
Ensure server 103 support is enabled in reverse proxy (Cloudflare/Nginx).
Cacheable: NoAllows Body: No
200
OK
RFC 9110
The standard response for successful HTTP requests.
Troubleshooting & Guidance:
Standard successful execution.
Cacheable: YesAllows Body: Yes
201
Created
RFC 9110
Request succeeded and led to the creation of a new resource.
Troubleshooting & Guidance:
Check Location header for the newly created resource URI.
Cacheable: NoAllows Body: Yes
202
Accepted
RFC 9110
Request accepted for background processing, but batch is not completed.
Troubleshooting & Guidance:
Inspect response body for task polling URL or webhook instructions.
Cacheable: NoAllows Body: Yes
204
No Content
RFC 9110
Request succeeded, but server deliberately sends no message body.
Troubleshooting & Guidance:
Common in DELETE or form updates; verify UI does not expect JSON.
Cacheable: NoAllows Body: No
206
Partial Content
RFC 9110
Server is delivering only part of the resource requested via Range header.
Troubleshooting & Guidance:
Check Content-Range header and Accept-Ranges: bytes response.
Cacheable: YesAllows Body: Yes
301
Moved Permanently
RFC 9110
Target resource has been assigned a new permanent URI.
Troubleshooting & Guidance:
Update links to new Location. Method may change from POST to GET.
Cacheable: YesAllows Body: Yes
302
Found (Temporary Redirect)
RFC 9110
Target resource temporarily resides under a different URI.
Troubleshooting & Guidance:
Use 307 if HTTP method must be preserved intact.
Cacheable: NoAllows Body: Yes
304
Not Modified
RFC 9110
Resource has not changed since timestamp in If-Modified-Since or If-None-Match.
Troubleshooting & Guidance:
Verifies conditional HTTP caching works properly; verify ETag headers.
Cacheable: YesAllows Body: No
307
Temporary Redirect
RFC 9110
Temporary redirect with strict guarantee that HTTP method is preserved.
Troubleshooting & Guidance:
Preferred over 302 for API endpoint redirection.
Cacheable: NoAllows Body: Yes
308
Permanent Redirect
RFC 9110
Permanent redirect with strict guarantee that HTTP method is preserved.
Troubleshooting & Guidance:
Preferred over 301 for API endpoints needing strict method preservation.
Cacheable: YesAllows Body: Yes
400
Bad Request
RFC 9110
Server cannot process request due to perceived client syntax or validation error.
Troubleshooting & Guidance:
Inspect request body schema, missing query parameters, or malformed JSON.
Cacheable: NoAllows Body: Yes
401
Unauthorized
RFC 9110
Request requires user authentication credentials or token has expired.
Troubleshooting & Guidance:
Verify Authorization: Bearer <token> or session cookies.
Cacheable: NoAllows Body: Yes
403
Forbidden
RFC 9110
Server understood request, but refuses to authorize access regardless of auth.
Troubleshooting & Guidance:
Check user role, RBAC permissions, IP allowlists, or CORS restrictions.
Cacheable: NoAllows Body: Yes
404
Not Found
RFC 9110
Origin server did not find a current representation for target resource.
Troubleshooting & Guidance:
Verify URL spelling, routing configuration, or deleted database record.
Cacheable: NoAllows Body: Yes
405
Method Not Allowed
RFC 9110
HTTP method is recognized by server, but not supported for target resource.
Troubleshooting & Guidance:
Check Allow header returned by server (e.g., Allow: GET, POST).
Cacheable: NoAllows Body: Yes
408
Request Timeout
RFC 9110
Server closed connection because client took too long to complete request.
Troubleshooting & Guidance:
Check client upload bandwidth or network latency bottlenecks.
Cacheable: NoAllows Body: Yes
409
Conflict
RFC 9110
Request could not be processed due to conflict with current state of resource.
Troubleshooting & Guidance:
Common in version control, optimistic locking, or duplicate unique keys.
Cacheable: NoAllows Body: Yes
410
Gone
RFC 9110
Target resource has been permanently deleted with no forwarding address.
Troubleshooting & Guidance:
Tells search engines to de-index the page immediately.
Cacheable: YesAllows Body: Yes
413
Payload Too Large
RFC 9110
Request entity is larger than limits defined by server.
Troubleshooting & Guidance:
Increase client_max_body_size in Nginx or file upload limit in Node/PHP.
Cacheable: NoAllows Body: Yes
415
Unsupported Media Type
RFC 9110
Payload format is in an unsupported format for this endpoint.
Troubleshooting & Guidance:
Verify Content-Type header matches server requirements (e.g. application/json).
Cacheable: NoAllows Body: Yes
418
I'm a teapot
RFC 2324
Hyper Text Coffee Pot Control Protocol April Fools RFC joke.
Troubleshooting & Guidance:
Server refuses to brew coffee because it is, permanently, a teapot.
Cacheable: NoAllows Body: Yes
422
Unprocessable Entity
RFC 9110
Syntax is valid, but server cannot process the contained instructions.
Troubleshooting & Guidance:
Inspect field-level validation errors in API response JSON.
Cacheable: NoAllows Body: Yes
429
Too Many Requests
RFC 6585
User has sent too many requests in a given amount of time (Rate Limited).
Troubleshooting & Guidance:
Read Retry-After header and implement exponential backoff.
Cacheable: NoAllows Body: Yes
500
Internal Server Error
RFC 9110
Server encountered an unexpected condition preventing it from fulfilling request.
Troubleshooting & Guidance:
Check backend application crash logs, unhandled exceptions, and stack traces.
Cacheable: NoAllows Body: Yes
501
Not Implemented
RFC 9110
Server does not support functionality required to fulfill request.
Troubleshooting & Guidance:
Verify server software version or whether HTTP method is supported.
Cacheable: NoAllows Body: Yes
502
Bad Gateway
RFC 9110
Server acting as gateway/proxy received an invalid response from upstream.
Troubleshooting & Guidance:
Check upstream app process (Node, Gunicorn, PHP-FPM) to see if it crashed.
Cacheable: NoAllows Body: Yes
503
Service Unavailable
RFC 9110
Server is currently unable to handle request due to overload or maintenance.
Troubleshooting & Guidance:
Inspect CPU/RAM utilization or check scheduled maintenance window.
Cacheable: NoAllows Body: Yes
504
Gateway Timeout
RFC 9110
Server acting as gateway did not receive a timely response from upstream server.
Troubleshooting & Guidance:
Increase proxy_read_timeout in reverse proxy or optimize slow database queries.
Cacheable: NoAllows Body: Yes
About HTTP Status Code Lookup & Reference
Complete technical reference for all standard HTTP status codes (1xx Informational, 2xx Success, 3xx Redirection, 4xx Client Error, 5xx Server Error) governed by IETF RFC 9110. Inspect cacheability rules, message body semantics, and actionable developer troubleshooting steps.
Key Capabilities & Features
Complete catalog of all 1xx, 2xx, 3xx, 4xx, and 5xx standard status codes
Interactive filtering by status class (Informational, Success, Redirect, Client Error, Server Error)
RFC 9110 specifications, cacheability flags, and payload body allowances
Actionable debugging and troubleshooting steps for frontend and backend engineers
Browser navigation and caching behavior explanations for each code
How to Use HTTP Status Code Lookup & Reference
1
Search Status Code
Enter any 3-digit code (e.g., 403, 502, 301) or error name.
2
Select Status Class
Filter by 4xx Client Errors or 5xx Server Errors for targeted debugging.
3
Review Troubleshooting
Read specific server configuration and reverse proxy debugging tips.
4
Copy Status Details
Copy the code name and definition for API documentation.
Privacy & In-Browser Execution Guarantee
100% Client-Side. Lookups and troubleshooting advice operate completely in-browser.
Frequently Asked Questions
What is the difference between 301 and 308 redirects?
Both represent permanent redirects. However, 301 allows browsers to change the request method from POST to GET, whereas 308 strictly requires the client to retain the original HTTP method (POST remains POST).
Why does 401 Unauthorized differ from 403 Forbidden?
A 401 indicates that valid authentication credentials are required or have expired, whereas 403 means the server understands the client identity but explicitly refuses authorization regardless of credentials.