417
4xx Client ErrorExpectation Failed
The expectation in the Expect header couldn't be met.
417 Expectation Failed means the server (or a proxy in front of it) can't satisfy the Expect header, which in practice always means Expect: 100-continue. Older proxies and some servers never implemented the 100-continue handshake and reject the whole request instead of just ignoring the header.
What 417 looks like on the wire
POST /upload HTTP/1.1 Host: legacy.example.com Expect: 100-continue HTTP/1.1 417 Expectation Failed
About 4xx Client Error
The request has a problem the client needs to fix, like a bad URL, missing auth, or invalid input.
How to fix 417 Expectation Failed
- Send an empty Expect header to disable the 100-continue handshake (curl does this with an explicit blank header).
- Upgrade or reconfigure the proxy that rejects 100-continue.
- If you can't change the server, send the body without the handshake.
Where it's defined
417 Expectation Failed is defined in RFC 9110 §15.5.18. MDN's 417 reference covers browser behavior and examples.