HTTP 100 Continue
1xx Informational
- Home
- HTTP Status Codes
- 1xx
- 100
What is HTTP 100 Continue?
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 by sending the remainder of the request. If the request has already been completed, the client can ignore this response. This mechanism allows clients to avoid sending large request bodies when the server is likely to reject the request based on headers alone.
Common Use Cases
- Large file uploads where client wants to confirm acceptance before sending data
- API endpoints that validate headers before processing body
Usage Example
When implementing large file uploads, your client can send an initial request with Expect: 100-continue. If the server responds with 100 Continue, the client proceeds to upload the body. If the server responds with 417 Expectation Failed or an error status, the client aborts the upload, saving bandwidth.
curl -X POST https://api.example.com/upload \
-H 'Expect: 100-continue' \
-H 'Content-Type: application/pdf' \
--data-binary @large-file.pdf
Related Status Codes
Common Mistakes
Mistake: Sending the request body before receiving the 100 Continue response
Fix: Always wait for the 100 (Continue) response from the server before sending the request body. Sending the body immediately defeats the purpose of the mechanism.
Mistake: Assuming all servers support the Expect: 100-continue mechanism
Fix: Many servers and proxies do not support 100 Continue. Handle cases where the server responds with the final response directly (skipping the 100 interim) or returns 417 Expectation Failed.