每天一个 HTTP 状态码 100

100 Continue

服务器返回此代码表示已收到请求的第一部分,正在等待其余部分;指示客户端应该继续当前请求;如果请求已经完成,客户端可以忽略该响应。

常用于服务器已经接受了请求头,客户端应该继续发送请求体(在这个请求需要发送请求体的情况下,例如 POST 请求)的情况下响应。

结合一个例子来说:如果有一个数据量超大的请求体,客户端没必要在一开始就携带发送;服务器端可以先检查一些HTTP 头部,检验通过了,客户端才能继续发送请求体。具体实践为:客户端在其初始请求里携带 Expect: 100-continue HTTP 首部,并且在发送请求体之前接收到 100 Continue 响应;如果客户端接收的不是此响应,它则不应该发送请求体数据。

实例

  1. 客户端请求:
    POST /user  HTTP/2
    Host: api.example.org
    Content-Length: 9876543210
    Expect: 100-continue
    
  2. 服务器响应:
    HTTP/2 100 Continue
    Server: api.example.org
    
  3. 客户端发送大量的请求体
    POST /user HTTP/2
    Host: api.example.org
    Content-Length: 976543210
    
    { data: [] }
    
  4. 服务器响应
    HTTP/2 200 OK
    Server: api.example.org
    

参考


image

posted @ 2022-05-09 19:52  复读机§  阅读(194)  评论(0编辑  收藏  举报