100 Continue 是一种临时(信息性)响应,表示服务器已经收到请求头、没有拒绝,并已准备好接收请求体。最终响应(例如 201 Created 或 413 Content Too Large)稍后会在同一连接上返回。
它是为大文件上传而设计的。客户端不想发出好几 MB 的数据后才被拒绝,就会在请求中加上 Expect: 100-continue 并稍等片刻。如果服务器返回 100 Continue,客户端就发送请求体;如果服务器直接返回 401 或 413 之类的最终错误,客户端就可以跳过上传。无法满足该预期的服务器可以返回 417 Expectation Failed。
浏览器自己不会发送 Expect: 100-continue,使用它的是 HTTP 库、curl 等命令行工具以及上传文件的 API 客户端。客户端也不会无限期等待:如果在很短的超时时间内(curl 默认为 1 秒)没有收到 100,照样会发送请求体。服务器不得向 HTTP/1.0 客户端发送 1xx 响应。
响应示例
HTTP
HTTP/1.1 100 Continue
HTTP/1.1 201 Created
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: /uploads/7f3c9a2e
Content-Length: 0 SEO 与重定向检测
搜索引擎永远不会把 100 当作页面状态。它之后总会跟着一个最终响应,爬虫和重定向检测工具报告的都是这个最终状态。临时响应由 HTTP 客户端在内部处理,因此 TrueURL 显示的是每一跳的最终状态,而不是之前出现过的 100 Continue。
常见原因与使用场景
- API 客户端或 curl 带着
Expect: 100-continue上传较大的请求体,服务器同意接收。 - 反向代理或应用服务器代替应用程序响应了这一预期。
- 上传开始前总要卡住约 1 秒:客户端在等待一个服务器始终不会发送的
100 Continue。可以在客户端关闭该预期,或让服务器支持它。