--- title: Expect slug: Web/HTTP/Headers/Expect translation_of: Web/HTTP/Headers/Expect ---
Expect
是一个请求消息头,包含一个期望条件,表示服务器只有在满足此期望条件的情况下才能妥善地处理请求。
规范中只规定了一个期望条件,即 Expect: 100-continue
, 对此服务器可以做出如下回应:
例如,如果请求中 {{HTTPHeader("Content-Length")}} 的值太大的话,可能会遭到服务器的拒绝。
常见的浏览器不会发送 Expect
消息头,但是其他类型的客户端如cURL默认会这么做。
Header type | {{Glossary("Request header")}} |
---|---|
{{Glossary("Forbidden header name")}} | no |
目前规范中只规定了 "100-continue" 这一个期望条件。
Expect: 100-continue
客户端发送带有Expect消息头的请求,等服务器回复后再发送消息体。
PUT /somewhere/fun HTTP/1.1 Host: origin.example.com Content-Type: video/h264 Content-Length: 1234567890987 Expect: 100-continue
服务器开始检查请求消息头,可能会返回一个状态码为 {{HTTPStatus("100")}} (Continue) 的回复来告知客户端继续发送消息体,也可能会返回一个状态码为{{HTTPStatus("417")}} (Expectation Failed) 的回复来告知对方要求不能得到满足。
Specification | Title |
---|---|
{{RFC("7231", "Expect", "5.1.1")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
目前没有已知的浏览器会使用这个消息头。
Expectation Failed
Continue