Expect

优质
小牛编辑
134浏览
2023-12-01

Expect HTTP 请求头表明,需要通过服务器,以便正确地处理该请求符合预期。

规范中定义的唯一期望是Expect: 100-continue,服务器应该以此作为回应:

  • 100 如果标题中包含的信息足以立即获得成功,
  • 417(期望失败),如果它不能达到预期; 或者其他任何其他 4xx 状态。

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

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

Header type

Request header

Forbidden header name

no

语法

目前没有指定除“100-continue”之外的其他期望。

Expect: 100-continue

指令

100-continue 通知收件人客户端将在此请求中发送消息主体100(希望大),并希望接收(继续)临时响应。

例子

大邮件正文

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

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

服务器现在检查请求标题,并可能会响应100(继续)响应以指示客户端继续并发送消息正文,或者417如果无法满足任何期望,它将发送(期望失败)状态。

规范

Specification

Title

RFC 7231, section 5.1.1: Expect

Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

浏览器兼容性

已知没有常见的浏览器发送此标头。