HTTP 100 Continue — What It Means and How to Fix It
The 100 (Continue) status code indicates that the initial part of a request has been received and has not yet been rejected by the server. The client should continue with its request, or ignore it if the request has already been completed. This is typically used with requests that include an `Expect: 100-continue` header.
Essential Reading: Designing Data-Intensive Applications
The system design bible for software engineers. Learn to build reliable, scalable, and maintainable systems.
Common Causes
- Client sends an `Expect: 100-continue` header to the server.
- Server is ready to receive the request body and confirms this to the client.
- Large request bodies where the client wants to avoid sending the entire body if the headers are already unacceptable.
Code Examples to Handle HTTP 100
curl -I https://httpbin.org/status/100
How to Fix It
- As a client, upon receiving 100 Continue, proceed to send the request body.
- As a server, if you receive an `Expect: 100-continue` header, send a 100 Continue response if the headers are acceptable, then wait for the request body.
- If a client does not receive a 100 Continue within a reasonable timeout, it can proceed to send the request body anyway or abort the request.
Related Status Codes
Frequently Asked Questions
What causes HTTP 100?
HTTP 100 (Continue) is caused by a client sending an `Expect: 100-continue` header in its request, indicating it wants the server to acknowledge the request headers before sending the potentially large request body. The server then responds with 100 Continue to confirm it's ready for the body.
How do I fix HTTP 100?
As a client, you don't 'fix' 100 Continue; it's an informational response. You simply proceed to send the request body. As a server, ensure your application handles the `Expect: 100-continue` header by sending a 100 Continue response if the initial headers are acceptable, or an appropriate error (like 417 Expectation Failed) if not.