6
我在以分块传输编码格式对客户端的响应中发送大量数据。在分块传输编码中发送的响应,并指示在已经发送了一些数据之后发生的错误
在回复的写作过程中,我应该如何处理发生的任何错误中途?
我想知道是否有任何HTTP规范建议的做法,让客户知道确实响应不是成功的,但服务器遇到了一些问题。
我在以分块传输编码格式对客户端的响应中发送大量数据。在分块传输编码中发送的响应,并指示在已经发送了一些数据之后发生的错误
在回复的写作过程中,我应该如何处理发生的任何错误中途?
我想知道是否有任何HTTP规范建议的做法,让客户知道确实响应不是成功的,但服务器遇到了一些问题。
一旦你开始发送HTTP头到客户端,你不能发送任何东西。您必须完成发送您要发送的响应,即分块的数据和关联的标题。如果中途出现错误,则无法向客户报告该错误。你所能做的就是关闭连接。客户端没有收到所有的头文件,或者在响应结束时没有收到终止的0长度块。无论哪种方式都足以让客户端知道服务器在发送过程中遇到错误。
谢谢雷米。是的...我知道标题首先被发送,并且一旦我们开始写入流,就无法修改它们。正如你所建议的那样,我目前关闭了连接,但想知道HTTP Spec是否有其他方式说明如何让客户知道它。这个0长的块有意思,我会检查看看我是否可以在该区域做些什么。 –
只有两种方法可以让客户知道出现了问题。关闭连接(这是你应该做的),因为除了接收最后一个0长度块以外的任何东西都是错误,或者在发送最后一个0-长度块之后在分块页脚中放置一个自定义HTTP头。尽管大多数客户可能会忽略这样的头文件,但如果您正在编写自己的客户端,那么您可以查找该头文件。 –
确定..谢谢!雷米... –