100 Continue
The server has read the request headers, is willing to accept the body, and the client should now send it.
At a glance
- Status code
- 100 Continue
- Class
- 1xx, informational, an interim response before the real one
- Defined in
- RFC 9110
- Cacheable by default
- no
- Response body
- No body. An interim response, followed by a final status on the same connection.
In detail
100 Continue only appears when the client sent an Expect: 100-continue header and deliberately paused before writing the request body. The server answers with 100 to say the headers passed its checks, or with a final error status to say do not bother sending the payload at all.
The pattern exists to avoid pushing a large upload across the network and then being told the credentials were wrong. A server that ignores Expect: 100-continue is still correct: the client must send the body after a short timeout regardless, which is why many stacks never emit this code.
Nothing to fix. If a client hangs waiting for 100, the usual cause is an intermediary that swallowed the interim response rather than a server fault.
Examples
HTTP/1.1 100 Continue
HTTP/1.1 201 Created
Location: /uploads/9f31Things that catch people out
- curl adds Expect: 100-continue automatically for bodies over 1KB, which can look like an unexplained one second stall against servers that do not answer it. Send an empty Expect: header to switch it off.
- An interim 1xx response is not the final status. Client code that reads the first status line and stops will mistake 100 for the result.
Try it: HTTP Request Builder
Build a request with any method, headers and body, send it, and read the status line the server returns.
HTTP Request Builder
LOCAL · Browser-OnlyBuild and test HTTP requests with custom headers and body
Authentication
Headers
Generate Code
curl -X GET 'https://api.example.com/endpoint' \
-H 'Content-Type: application/json'Showing a sample URL. Enter your endpoint above to update the snippet.
Related HTTP status codes
All http status codes →101 Switching Protocols
The server agrees to change protocol on this connection, which in practice almost always means upgrading to WebSocket.
103 Early Hints
An interim response that sends Link headers early so the browser can start preloading assets while the server is still building the real response.
417 Expectation Failed
The server cannot meet the requirement in the Expect header, which in practice always means Expect: 100-continue.
102 Processing
A WebDAV interim response meaning the request was received and is still being worked on, sent to stop the client timing out.
200 OK
The request succeeded. What the body contains depends on the method: a GET returns the resource, a POST returns the result of the action.
201 Created
The request succeeded and created one or more new resources. The Location header carries the URL of the primary one.
Tools for this
- HTTP Request Builder Free online HTTP request builder - build and test HTTP requests with custom headers and body
- HTTP Headers Checker Free online HTTP headers checker - view HTTP response headers for any URL