# HTTP 100 Continue — Status Code Meaning & Examples

> The server received the request headers and the client should go ahead and send the body.

100 Continue is an interim response: it arrives before the final status, never instead of it. A client about to upload a large body can send just the headers with `Expect: 100-continue` and wait. If the server answers 100, the client streams the body; if it answers with a final status such as 401 or 413, the client skips the upload and saves the bandwidth.

- Class: 1xx Informational
- Retry: Not applicable
- Cacheable by default: no
- Defined in: [RFC 9110 §15.2.1 — 100 Continue](https://www.rfc-editor.org/rfc/rfc9110.html#section-15.2.1)

## Example response

```http
HTTP/1.1 100 Continue
```

## When you'll see it

- The client sent `Expect: 100-continue`. curl adds it automatically when a POST or PUT body is large.
- A server or proxy that supports the handshake is confirming the upload can proceed.

## What to do

1. Usually nothing — clients and servers handle the exchange automatically.
2. If uploads stall for about a second before starting, the server is ignoring the expectation and the client is waiting out its timeout. Send an empty `Expect:` header (`curl -H 'Expect:'`) to skip the handshake.
3. Servers that want to reject early should check auth and `Content-Length` before reading the body, so they can answer 401 or 413 instead of 100.

## FAQ

### Will I ever see 100 Continue in the browser?

No. Browsers don't send Expect: 100-continue, and interim 1xx responses are handled below the API surface — fetch() and XMLHttpRequest only expose the final status.

### Why does curl pause before uploading?

curl sent Expect: 100-continue and is waiting for the server's go-ahead. If no 100 arrives, it waits about one second and then sends the body anyway. Disable the handshake with -H 'Expect:'.

## Related status codes

- [101 Switching Protocols](https://www.devkult.com/http/101.md)
- [103 Early Hints](https://www.devkult.com/http/103.md)
- [413 Content Too Large](https://www.devkult.com/http/413.md)
- [417 Expectation Failed](https://www.devkult.com/http/417.md)

Open the interactive page: https://www.devkult.com/http/100