2010-11-14 72 views
10

是否有标准方法来处理分块响应的响应失败?我倾注了RFC,并没有看到处理这个问题的标准方法。中止HTTP/1.1块编码响应

我对分块响应的理解是,当我们无法一次在服务器上处理整个响应时,它们非常有用。因此,尽管处理响应的一部分虽然发生了致命错误,并且响应需要终止。

我最初的想法是,关闭连接是最好的解决方案,但我想确保没有处理这种情况的另一种方式。谢谢。

+1

+1有趣的问题。 – Gumbo 2010-11-14 21:34:03

回答

7

是的,关闭连接是唯一有效的方法,因为在HTTP中,响应已经开始后不能有任何进一步的请求数据。 (更具体地说:在请求结束之后,由两个\n s标记。)

+0

当我中止分块响应时,Chrome显示空白页面,开发控制台报告'net :: ERR_INCOMPLETE_CHUNKED_ENCODING'。 IE显示不完整的页面。有没有办法将用户发送到实际的500错误页面?我可以输出破坏文档的东西,以便浏览器不会使用它吗? – skibulk 2014-11-19 04:40:38

+0

我不知道任何“请重新开始解码”块头,但它可能值得在一个新的问题中提出这个问题。 – AndreKR 2014-11-19 06:13:53