100 Continue: 表示初始请求已被接受的HTTP状态代码

スポンサーリンク
スポンサーリンク

关于100 Continue

100 Continue的概述

优化请求准备阶段的HTTP状态码

100 Continue

概述 100 Continue 是一个HTTP状态码,表示客户端发送的请求是可接受的,并通知客户端可以继续发送请求主体。通常,当请求头中包含 Expect: 100-continue 时,服务器会返回此状态码。

含义 服务器已接收请求的初始部分,并指示客户端继续。

100 Continue在什么情况下返回?

  • 当客户端发送包含Expect: 100-continue头的请求时
  • 当客户端希望在发送请求主体前获得服务器的确认时
  • 在发送大数据时,为了避免不必要的传输而使用

100 Continue的示例

确认请求的初始部分

POST /upload HTTP/1.1  
Host: example.com  
Content-Length: 1048576  
Expect: 100-continue  

响应示例:

HTTP/1.1 100 Continue  

解释: 当客户端发送包含Expect: 100-continue头的请求时,服务器返回100状态码,以表明已准备好接受请求。此时,客户端可以继续发送请求主体(例如大数据)。

错误情况下的替代响应

POST /upload HTTP/1.1  
Host: example.com  
Content-Length: 1048576  
Expect: 100-continue  

响应示例:

HTTP/1.1 417 Expectation Failed  

解释: 如果服务器未准备好接受请求,则可能返回417 Expectation Failed,而不是100状态码。

注意事项

返回100 Continue时需要注意的事项:

  • 在接收请求主体之前返回
    100状态码必须在接收请求主体之前发送。
  • 正确处理客户端的预期
    忽略Expect: 100-continue可能会降低客户端与服务器之间的通信效率。

与相关HTTP状态码的比较

以下是与100 Continue相关的HTTP状态码:

  • 200 OK: 当请求完全成功时使用。100状态码表示中间阶段。
  • 417 Expectation Failed: 当未满足Expect: 100-continue的预期时返回的错误状态。

理解这些差异有助于正确使用100状态码。