取消HTTP / 1.1分块响应并保持持久连接

时间:2012-07-18 20:27:11

标签: ios http persistent-connection chunked

这个问题主要是一个HTTP问题,我正在开发一个iOS应用程序,虽然这个问题不是iOS特有的。

我想使用持久连接,并且没有问题,直到HTTP响应使用分块传输类型,而不是显式发送Content-Length。响应本身正常工作,如果我从不需要取消响应,它将起作用。此响应可能需要一段时间才能发送响应(可能需要几分钟而且永远不会发送最终的0块),而且经常,我想取消此请求(和响应)并在同一连接上发送新请求。 / p>

使用HTTP / 1.1,如何在没有关闭连接的情况下取消分块响应响应

我目前的解决方法是不使用持久连接,但后来我失去了使用持久连接的所有好处,这使得启动这些请求的速度要慢得多。

1 个答案:

答案 0 :(得分:3)

你不能取消它。 HTTP协议中没有任何内容允许您中断HTTP响应。您需要阅读并放弃整个响应或关闭连接。但是,您可以在服务器仍在发送响应时在同一连接上发出另一个HTTP请求,但您仍然必须处理对原始请求的整个响应。