Expect

Expect HTTP 请求头指示服务器成功处理请求所需满足的期望。

Expect: 100-continue 时,服务器将使用以下响应:

  • 100 (继续) 如果来自请求头的信息不足以解析响应,客户端应继续发送主体。
  • 417 (期望失败) 如果服务器无法满足期望

或任何其他状态(例如,客户端错误的 4xx 状态,或如果请求可以在没有进一步处理的情况下成功解析的 2xx 状态)。

例如,如果服务器的 Content-Length 太大,则服务器可能会拒绝请求。

没有常见的浏览器发送 Expect 头,但一些其他客户端(如 cURL)默认情况下会这样做。

头类型 请求头
禁止的头名称

语法

http
Expect: 100-continue

指令

只有一个定义的期望

100-continue

通知接收者客户端将在本次请求中发送(可能很大的)消息主体,并希望收到 100 (继续) 中间响应。

示例

大消息主体

客户端发送带有 Expect 头的请求,并在发送消息主体之前等待服务器响应。

http
PUT /somewhere/fun HTTP/1.1
Host: origin.example.com
Content-Type: video/h264
Content-Length: 1234567890987
Expect: 100-continue

服务器检查头并生成响应。服务器发送 100 (继续),指示客户端发送消息主体。

规范

规范
HTTP 语义
# field.expect

另请参见