HTTP Status Codes
A comprehensive reference for HTTP status codes with explanations and use cases
Informational (1xx)
100
InformationalContinue
The server has received the request headers and the client should proceed to send the request body.
Likely Cause:
This is a normal part of the HTTP protocol, indicating that the server is ready to receive the request body.
101
InformationalSwitching Protocols
The server is switching protocols as requested by the client.
Likely Cause:
Common when upgrading from HTTP to WebSocket or HTTP/1.1 to HTTP/2.0.
102
InformationalProcessing
The server has received and is processing the request, but no response is available yet.
Likely Cause:
Used for long-running operations to prevent client timeout. Common in file uploads or complex processing.
103
InformationalEarly Hints
Used to return some response headers before final HTTP message.
Likely Cause:
Helps browsers start loading resources before the main response is ready, improving performance.
Success (2xx)
200
SuccessOK
The request has succeeded.
Likely Cause:
Standard response for successful HTTP requests.
201
SuccessCreated
The request has succeeded and a new resource has been created.
Likely Cause:
Common after successful POST requests that create new resources.
202
SuccessAccepted
The request has been accepted for processing, but the processing has not been completed.
Likely Cause:
Used for asynchronous processing, like background jobs or queued operations.
203
SuccessNon-Authoritative Information
The returned metadata is different from what was originally available.
Likely Cause:
Common when using a proxy or cache that modified the response.
204
SuccessNo Content
The server successfully processed the request and is not returning any content.
Likely Cause:
Used for successful operations that don't need to return data, like DELETE requests.
205
SuccessReset Content
The server has fulfilled the request and desires that the client reset the document view.
Likely Cause:
Common after form submissions to clear the form for new input.
206
SuccessPartial Content
The server is delivering only part of the resource due to a range header sent by the client.
Likely Cause:
Used for resumable downloads or streaming content.
Redirection (3xx)
300
RedirectionMultiple Choices
The request has more than one possible response.
Likely Cause:
Server offers multiple representations of the resource, and the client should choose one.
301
RedirectionMoved Permanently
The URL of the requested resource has been changed permanently.
Likely Cause:
Resource has been permanently moved to a new URL. Search engines should update their links.
302
RedirectionFound
The URI of requested resource has been changed temporarily.
Likely Cause:
Common in POST-Redirect-GET pattern or temporary redirects.
303
RedirectionSee Other
The client should look at another URI using a GET method.
Likely Cause:
Used to redirect after a POST request to prevent form resubmission.
304
RedirectionNot Modified
The response has not been modified since the last request.
Likely Cause:
Client's cached version is still valid. Saves bandwidth by not resending unchanged content.
307
RedirectionTemporary Redirect
The request should be repeated with another URI.
Likely Cause:
Similar to 302 but guarantees the same HTTP method will be used.
308
RedirectionPermanent Redirect
The request and all future requests should be repeated using another URI.
Likely Cause:
Similar to 301 but guarantees the same HTTP method will be used.
Client Error (4xx)
400
Client ErrorBad Request
The server cannot or will not process the request due to an apparent client error.
Likely Cause:
Invalid syntax, malformed request, or missing required parameters.
401
Client ErrorUnauthorized
Authentication is required and has failed or has not been provided.
Likely Cause:
Missing or invalid authentication credentials, expired tokens, or insufficient permissions.
403
Client ErrorForbidden
The server understood the request but refuses to authorize it.
Likely Cause:
User is authenticated but doesn't have permission to access the resource.
404
Client ErrorNot Found
The requested resource could not be found.
Likely Cause:
Resource doesn't exist, has been moved, or the URL is incorrect.
405
Client ErrorMethod Not Allowed
The method specified in the request is not allowed for the resource.
Likely Cause:
Using POST on a read-only endpoint or GET on a write-only endpoint.
406
Client ErrorNot Acceptable
The requested resource is capable of generating only content not acceptable according to the Accept headers.
Likely Cause:
Server can't provide content in the format requested by the client.
408
Client ErrorRequest Timeout
The server timed out waiting for the request.
Likely Cause:
Client took too long to send the complete request.
409
Client ErrorConflict
The request could not be completed due to a conflict with the current state of the resource.
Likely Cause:
Concurrent modification conflicts, like trying to update a resource that was modified by someone else.
410
Client ErrorGone
The requested resource is no longer available and has been permanently removed.
Likely Cause:
Resource was intentionally removed and won't be available again.
429
Client ErrorToo Many Requests
The user has sent too many requests in a given amount of time.
Likely Cause:
Rate limiting, API quota exceeded, or DDoS protection triggered.
Server Error (5xx)
500
Server ErrorInternal Server Error
A generic error message given when an unexpected condition was encountered.
Likely Cause:
Server-side exceptions, database errors, or unhandled errors in application code.
501
Server ErrorNot Implemented
The server either does not recognize the request method, or it lacks the ability to fulfill the request.
Likely Cause:
Server doesn't support the functionality required to fulfill the request.
502
Server ErrorBad Gateway
The server received an invalid response from the upstream server.
Likely Cause:
Proxy server received an invalid response from the backend server.
503
Server ErrorService Unavailable
The server is currently unable to handle the request due to temporary overload or maintenance.
Likely Cause:
Server is down for maintenance, overloaded, or experiencing issues.
504
Server ErrorGateway Timeout
The upstream server failed to send a request in the time allowed by the server.
Likely Cause:
Backend server took too long to respond to the proxy server.
505
Server ErrorHTTP Version Not Supported
The server does not support the HTTP protocol version used in the request.
Likely Cause:
Client is using an HTTP version that the server doesn't support.
Best Practices
- •Use appropriate status codes that accurately reflect the result of the request
- •Include helpful error messages in the response body for 4xx and 5xx errors
- •Use 200 for successful GET requests and 201 for successful POST requests
- •Use 204 when the request is successful but there's no content to return
- •Use 400 for client errors and 500 for server errors
- •Include proper CORS headers when necessary
- •Use 429 to rate limit requests and include a Retry-After header
DebugTools product
HTTP Status
HTTP Status is a focused DebugTools mini-product for developers. Reference HTTP codes and response meanings while debugging requests.
Use cases
- Debug request, response, header, status, redirect, and payload problems.
- Create a small reproduction before changing client or backend code.
- Compare working and failing network evidence without leaving the browser.
How it works
- Paste or load the snippet you want to inspect in HTTP Status.
- Run the tool in the browser and review the highlighted output.
- Copy, export, or turn the result into the next debugging step.
Privacy
- HTTP Status is local-first. The core workflow runs in your browser and does not require sending pasted content to DebugTools servers.
This tool history
Recent HTTP Status sessions
Only visits for this tool are shown. Pasted content, tokens, request bodies, and logs are not stored here.