关于100 Continue
100 Continue的概述
优化请求准备阶段的HTTP状态码 | ||
100 Continue 概述 100 Continue 是一个HTTP状态码,表示客户端发送的请求是可接受的,并通知客户端可以继续发送请求主体。通常,当请求头中包含 |
||
含义 服务器已接收请求的初始部分,并指示客户端继续。 |
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状态码。