HTTP 417 Expectation Failed
HTTP 417 Expectation Failed (RFC 9110) is returned when the expectation in a request's Expect header cannot be met by the server or an intermediary. In practice the Expect header is almost always 'Expect: 100-continue', a handshake clients use before sending a large body. A 417 usually points to a proxy or server that does not support that handshake.
What this means
The Expect request header lets a client state a precondition the server must meet before the client proceeds. The only widely used value is 100-continue: the client sends headers first and waits for a 100 Continue interim response before transmitting a large request body, avoiding wasted upload bandwidth if the server would reject it.
If a server or an intermediary proxy cannot honour the stated expectation, it returns 417 Expectation Failed instead of 100 Continue, and the client's body is never sent.
Common causes and fixes
417s typically come from an older proxy, load balancer, or origin that does not implement the 100-continue handshake. Some clients add 'Expect: 100-continue' automatically for large POST/PUT bodies, so the failure surfaces on uploads or API writes rather than reads.
Fixes include configuring the intermediary to support 100-continue, or having clients omit the Expect header (sending the body directly). Most search and AI crawlers do not send Expect on GET requests, so a 417 is far more likely tied to API or upload traffic than to content crawling.
- Almost always triggered by 'Expect: 100-continue'
- An intermediary that lacks 100-continue support returns 417
- Fix at the proxy, or have the client drop the Expect header
How it appears in analytics and logs
A 417 means the request carried an Expect the server or proxy could not satisfy. It is an upload/handshake problem, not a content or routing problem, and rarely appears for normal page crawls that send no Expect header.
Diagnostic use case
Diagnose failed uploads or API POSTs where a client sends 'Expect: 100-continue' and an intermediary rejects it with 417 instead of replying 100 Continue.
What WebmasterID can help detect
WebmasterID records the status returned to fetches, so a cluster of 417s flags an Expect/100-continue incompatibility in your stack rather than a content issue, separate from human analytics.
Common mistakes
- Assuming 417 is a content or auth error rather than an Expect-header handshake failure.
- Running an old proxy that cannot handle 100-continue in front of upload endpoints.
- Forcing 'Expect: 100-continue' on clients talking to servers that do not support it.
Privacy and accuracy notes
A 417 is a protocol handshake response with no visitor identity attached. WebmasterID records crawler fetch statuses without linking them to a person.
Related pages
- HTTP 416 Range Not Satisfiable
HTTP 416 Range Not Satisfiable (RFC 9110) is returned when a request includes a Range header whose ranges all fall outside the resource's current size — for example asking for bytes starting past the end of the file. The server cannot return the requested range and responds 416, usually with a Content-Range header stating the resource's total length.
- HTTP 103 Early Hints and performance
103 Early Hints is an informational status that lets a server send hints — typically Link headers for preloading or preconnecting — before the final response is ready. Browsers can start fetching critical assets earlier, improving load time. It is a performance optimisation that sits ahead of the eventual 200 a crawler processes.
- HTTP status code cheat sheet for crawlers
This cheat sheet maps the five HTTP status classes to what they mean for crawlers and indexing. It is a quick reference for reading server logs and Search Console crawl data: which codes index normally, which redirect, which signal client errors, and which are server failures crawlers will retry. The aim is to interpret status codes through a crawl-and-index lens rather than a generic one.
- Website observability
See handshake and Expect-header status codes across your stack, server-side.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.