HTTP Status Codes

100 100 Continue

The server has received the request headers and the client should proceed to send the request body.

What Is This?

The HTTP 100 Continue status code indicates that the server has received the initial part of the request (the headers) and the client should continue with sending the body. It is part of the HTTP/1.1 expect/continue mechanism that allows clients to avoid sending large request bodies when the server will reject them based on headers alone.

Common Causes & Solutions

1

Common Cause

Server configured to expect the Expect: 100-continue header

2

Common Cause

Client sending Expect: 100-continue to check server availability before uploading

3

Common Cause

Proxy or gateway relaying the 100 Continue response between client and server

4

Handle 100 Continue in clients

When your client receives 100 Continue, proceed to send the request body. If you do not receive 100 Continue within a timeout, you may either send the body anyway or abort the request.

5

Server configuration

Configure your server to send 100 Continue for requests with Expect: 100-continue header. The response should be sent immediately after validating request headers.

# Nginx: expect_continue is enabled by default
# Apache: SetEnvIf Expect "100-continue" expect_continue

# Node.js (Express): 100-continue is handled automatically
app.use((req, res, next) => {
  if (req.headers.expect === '100-continue') {
    res.writeContinue()
  }
  next()
})
6

Troubleshoot missing 100 Continue

If your client expects 100 Continue but never receives it, check for proxy servers or load balancers that may strip the Expect header. Ensure HTTP/1.1 is used (HTTP/1.0 does not support 100 Continue).

Related Entries

More from this reference:

Frequently Asked Questions

Should I always wait for 100 Continue before sending the body?

No. For small request bodies, it is more efficient to send the body immediately. The 100 Continue mechanism is designed for large payloads where the cost of sending the body and having it rejected is significant.

Does HTTP/2 support 100 Continue?

HTTP/2 does not use the Expect/Continue mechanism. Instead, server push and stream prioritization handle similar optimization scenarios. Most HTTP/2 clients skip 100 Continue entirely.