417 Error

A 417 Expectation Failed error is a webserver’s code for:

“I cannot meet the expectations specified in your request headers.”

A 417 Expectation Failed error indicates that the expectation given in the request’s Expect header field could not be met by at least one of the inbound servers.

The most common use of the Expect header is Expect: 100-continue, where a client asks the server: “Are you willing to accept my request before I spend the bandwidth sending this massive file?” If the server or an intermediary proxy cannot satisfy that expectation, it returns 417.

Determining why

  • An intermediary proxy server does not support the Expect header field.
  • The web server is configured with security policies that disallow speculative pre-flight requests.

Steps you could possibly take:

  • If you are a visitor - Try disabling browser proxy extensions or testing from an alternate network connection.
  • If you are a developer:
    • Disable the Expect: 100-continue header in your HTTP client library (for example, in PHP cURL set CURLOPT_HTTPHEADER => ['Expect:']).
    • Check whether reverse proxies or firewalls along the network route support HTTP/1.1 expectation handshakes.

Source: RFC 9110 Section 15.5.18 (HTTP Semantics)