如何判断服务器在响应过程中出现问题,以200 OK开始。优雅地失败

时间:2013-10-22 11:55:43

标签: http

如果在HTTP 1.X协议中有任何标准方法告诉在http响应期间服务器上出现问题,那么我很谨慎。启动为200 OK。

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

UPD :有一个副本,但没有一个答案(!)HTTP: error during reply after 200 OK status code

要具体:我无法在响应结束时使用Content-Length进行检查,因为在响应开始时的长度不可知。

另外,我无法在发送之前将整个响应缓存在服务器上(因为它太大而且我的内存耗尽,而且生成时间太长,因此用户无法等待等等... )。

1 个答案:

答案 0 :(得分:3)

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

准确地说,标准方法是缓冲服务器上的响应,然后发送200 OK和Content-Length,然后发送内容。如上所述,这不适合你。

我能想到的唯一选择是将内容包装成某种格式,使其无法被发现,无论是否正确发送。例如,您可以使用哈希或甚至数字签名来结束它。但很明显,这些机制不是HTTP标准的一部分。