417 Expectation Failed 表示处理该请求的服务器中,至少有一个无法满足其 Expect 请求头中给出的预期。HTTP 定义的唯一预期是 100-continue,因此实际上,417 意味着某个服务器或代理不支持它。
解决办法通常在客户端:去掉 Expect 请求头重新发送请求,直接发送请求体。有些 HTTP 客户端收到 417 后会自动这样做。
响应示例
HTTP
HTTP/1.1 417 Expectation Failed
Date: Fri, 06 Nov 2026 10:15:32 GMT
Connection: close
Content-Length: 0 SEO 与重定向检测
对 SEO 没有影响,因为爬虫不发送 Expect 请求头。在重定向检测中,只有在请求中添加了 Expect 请求头时才会出现 417。
常见原因与使用场景
- 客户端(例如上传较大文件时的 curl)向不支持
Expect: 100-continue的服务器或代理发送了该请求头。 - 老旧的代理拒绝所有它不理解的
Expect请求头。 - 客户端发送了未定义的预期值。