100

HTTP 100 Continue

1xx Informational

1xx Informational RFC 7231, Section 6.2.1

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

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.

Last updated: 21 Jun 2026