HTTP status · 1xx — informational

100 Continue

100 Continue is an interim response that tells the client the request headers were accepted and the body can be sent.

Key facts

Class1xx — informational
StandardRFC 9110 §15.2.1
Final responseNo — an interim response follows
Typical triggerExpect: 100-continue request header
BodyNone

What 100 Continue means

A client that is about to send a large body can send only the headers with Expect: 100-continue. The server answers 100 Continue to say the headers are acceptable and the body should follow. It is an interim response: the real answer (200, 201, 413 and so on) arrives after the body is processed.

If the server would reject the request anyway, it can skip the 100 and send the final error immediately, which saves the client from uploading a body that will be discarded.

When you see it in practice

You normally meet 100 only in proxy logs, curl verbose output or a protocol debugger. Browsers send it for some large uploads. Seeing 100 is not an error and needs no fix; a problem exists only if the server never sends the interim response and the client waits until its timeout, which usually points at a proxy that strips the Expect header or buffers the request.

Frequently asked questions

Is HTTP 100 an error?

No. It is an informational response in the 1xx class. The request continues and a final status code follows.

Does a 100 response have a body?

No. Interim responses carry no content; they only signal protocol state.

Why does curl show 100 Continue before the real response?

curl sends Expect: 100-continue for larger uploads by default. The server acknowledges the headers, curl sends the body, and then the final response arrives.

New tools, straight to your inbox

One short email when we add tools worth using. No spam, unsubscribe anytime.