HTTP Status Codes
HTTP 417 Expectation Failed
Expectation Failed — the server cannot satisfy the request's Expect header requirements
A 417 Expectation Failed response means the server could not meet the requirements expressed in the request's Expect header. It is most often associated with Expect: 100-continue, where the client wants confirmation before sending a potentially large request body.
Visual summary
A quick reference view of how HTTP 417 blocks a request at the negotiation stage when the server cannot meet the client's Expect condition.

What 417 Means
The shortest useful reading of this status code.
Expectation Failed means the server cannot satisfy the request's Expect header requirements.
For Expect handling, the key distinction is that the request included a handshake requirement the server would not accept.
Quick read
Expectation handshake rejected
A 417 means the server would not honor the Expect behavior attached to the request.
Technical Context
How this status behaves without turning the page into a repair guide.
Expectation handshake
The core idea of 417 is that the request includes an explicit expectation about how the server should respond before normal processing continues. When the server cannot satisfy that expectation, it rejects the request at that stage instead of pretending the rest of the exchange can proceed normally.
Failure path
That makes 417 closely related to 100 Continue, but from the failure side of the same interaction. A 100 means the expectation path succeeded and the client can continue sending the body. A 417 means the negotiation around that expectation failed, usually because the server, proxy, or policy layer did not accept the Expect semantics attached to the request.
Related HTTP Codes
Nearby HTTP status codes help clarify how 417 differs inside the same response family.
417
Expectation Failed
the server cannot satisfy the request's Expect header requirements
100
Continue
the server has received the request headers and the client should proceed
400
Bad Request
the server cannot process the request because it is malformed
411
Length Required
the server requires a valid Content-Length header
Common Causes
Server or proxy does not support the client Expect header
The request asks for handshake behavior the receiving layer does not implement or accept.
Upstream policy refuses the 100-continue expectation
The server declines the expectation stage instead of allowing the client to continue under that contract.
Intermediary rewrites request semantics around Expect handling
A proxy or gateway changes how the expectation is interpreted before the origin finishes the negotiation.
Typical Scenarios
A client asks for 100-continue before an upload, but the origin or proxy does not honor that expectation
A gateway receives an Expect header policy it does not understand and rejects the request before the body is sent
An integration uses legacy Expect behavior while an intermediary handles request framing differently
What To Know
A 417 usually points to request-expectation negotiation rather than to a generic content or routing failure. The important distinction is that the problem arises before the normal request body flow is accepted under the expected handshake behavior.
Frequently Asked Questions
Common interpretation questions about HTTP 417.
Yes. That is the most common context. The status appears when the server cannot satisfy the expectation behavior the client attached to the request.
A 100 means the expectation succeeded and the client can continue. A 417 means the expectation negotiation failed before the normal request flow could continue.