4

如果 HTTP 1.X 协议中有任何标准方法可以告诉在以 200 OK 开始的 http 响应期间服务器上存在问题,我感到很奇怪。

如果已经返回 200 OK 标头并且我们当前正在发送响应正文,如何判断服务器上是否有任何错误?以某种符合标准的方式。

UPD:有一个重复,但没有一个答案(!)HTTP:在 200 OK 状态代码后回复期间出错

具体来说:我不能Content-Length用于在响应结束时进行检查,因为在响应开始时无法知道长度。

另外,我无法在发送之前将整个响应缓存在服务器上(因为它太大了,我会用完内存,而且生成时间太长,所以用户不能等待,等等......)。

4

1 回答 1

3

没有标准的方法可以做你想做的事。

准确的说,标准方法是在服务器上缓存响应,然后发送 200 OK 和 Content-Length,然后是内容。如前所述,这对您不起作用。

我能想到的唯一替代方法是以某种格式包装内容,使其可以发现是否正确发送。例如,您可以用哈希甚至数字签名来结束它。但显然,这种机制不是 HTTP 标准的一部分。

于 2013-10-22T12:13:22.143 回答