如果在HTTP 1.X协议中有任何标准方法告诉在http响应期间服务器上出现问题,那么我很谨慎。启动为200 OK。
如果已经返回200 OK标头并且我们当前正在发送响应正文,如何判断服务器上是否有任何错误?以一些标准的方式。
UPD :有一个副本,但没有一个答案(!)HTTP: error during reply after 200 OK status code。
要具体:我无法在响应结束时使用Content-Length
进行检查,因为在响应开始时的长度不可知。
另外,我无法在发送之前将整个响应缓存在服务器上(因为它太大而且我的内存耗尽,而且生成时间太长,因此用户无法等待等等... )。
答案 0 :(得分:3)
没有标准方法可以做你想做的事。
准确地说,标准方法是缓冲服务器上的响应,然后发送200 OK和Content-Length,然后发送内容。如上所述,这不适合你。
我能想到的唯一选择是将内容包装成某种格式,使其无法被发现,无论是否正确发送。例如,您可以使用哈希或甚至数字签名来结束它。但很明显,这些机制不是HTTP标准的一部分。