问题描述
是否可以在长时间运行的流程开始之前从服务器上实施“交货回执”或“快速响应”(这将延迟实际响应内容)?
我的意思是:
request -> server receives -> res.send(200) ((but keep this 'res' alive!)) -> server long running process -> res.send("actual response")
这在应用程序方面非常有用,因此我知道超时的确是由于进程而不是服务器离线导致的。另外,我想避免提出两个请求,一个接一个。
解决方法
HTTP状态码100 CONTINUE可以用于此目的。参见https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.1.1
根据RFC,“ 100继续”是一个临时响应,请求完成后必须跟随最终响应。