What is HTTP 100 Continue?
The 100 Continue status code is an informational HTTP response that tells a client it should continue sending the remainder of its request.
It is part of the 1xx Informational class of HTTP status codes, which provide temporary information about the progress of a request before the final response is returned.
Why Does 100 Continue Exist?
Some HTTP requests contain large amounts of data, such as file uploads or large API payloads. Sending the entire request body before knowing whether the server will accept the request can waste bandwidth and processing time.
The 100 Continue response allows a client to first send only the request headers and
ask the server whether it is willing to accept the request.
The flow looks like this:
Client → Server
POST /upload HTTP/1.1
Host: example.com
Content-Length: 5000000
Expect: 100-continue
Server → Client
HTTP/1.1 100 Continue
After receiving the 100 Continue response, the client sends the full request body.
The Expect Header
Clients request this behaviour by including the Expect header in the initial request.
POST /api/upload HTTP/1.1
Host: example.com
Expect: 100-continue
Content-Length: 10485760
The server can then decide whether to allow the request to continue.
What Happens If The Server Rejects The Request?
If the server determines that the request cannot be accepted, it can return a final response instead
of sending 100 Continue.
For example:
HTTP/1.1 401 Unauthorized
The client can avoid uploading a large request body because the server has already rejected the request.
Do You See 100 Continue In Production?
Most developers and DevOps engineers rarely see 100 Continue during normal debugging.
Modern clients, proxies, and frameworks often handle it automatically.
However, it can appear when troubleshooting:
- Large file uploads
- API clients sending large payloads
- Reverse proxies
- HTTP protocol behaviour
Checking HTTP 100 Responses
You can inspect HTTP responses using tools such as curl.
curl -v -X POST https://example.com/upload
The verbose output shows the request and response exchange, which can help identify HTTP protocol issues.
Why 100 Continue Matters For DevOps
Although it is not commonly seen in application logs, understanding 100 Continue helps
when debugging communication between clients, proxies, and backend services.
- Understanding HTTP request lifecycles
- Troubleshooting API behaviour
- Debugging reverse proxy configurations
- Understanding client-server communication
Summary
The 100 Continue response is a small but important part of HTTP. It allows clients to confirm that a server is ready to receive a large request before transmitting the complete payload.
For DevOps engineers, it represents an important concept in understanding how HTTP requests move through modern infrastructure.