HTTP 100 Continue — What It Means & When Servers Send It
The server has received the request headers and the client should proceed to send the request body. Sent in response to an Expect: 100-continue header — allows large request bodies to be validated before transmission.
When to Return 100
Send 100 Continue when a client sends an Expect: 100-continue header and you've validated the headers (authentication, content-type) and are ready to receive the body. The client will then send the body.
HTTP Response Example
HTTP/1.1 100 ContinueCode Examples
Express.js
// Express doesn't typically send 100 manually — HTTP clients
// handle the Expect: 100-continue handshake automatically.
// To disable automatic 100-continue in Node.js http module:
server.on('checkContinue', (req, res) => {
// Validate headers before accepting body
if (!req.headers['content-type']?.includes('application/json')) {
return res.sendStatus(415)
}
res.writeContinue() // sends 100 Continue
// Then handle the request body
})Next.js App Router
// Next.js App Router route handlers — 100 Continue is handled
// automatically by the Node.js HTTP layer. You typically
// don't need to manage this manually in Next.js.
export async function POST(request: Request) {
const body = await request.json()
return Response.json({ received: true })
}Related Status Codes
Frequently Asked Questions
What does HTTP 100 Continue mean?
The server has received the request headers and the client should proceed to send the request body. Sent in response to an Expect: 100-continue header — allows large request bodies to be validated before transmission.
When should an API return 100?
Send 100 Continue when a client sends an Expect: 100-continue header and you've validated the headers (authentication, content-type) and are ready to receive the body. The client will then send the body.
