这个问题主要是一个HTTP问题,我正在开发一个iOS应用程序,虽然这个问题不是iOS特有的。
我想使用持久连接,并且没有问题,直到HTTP响应使用分块传输类型,而不是显式发送Content-Length。响应本身正常工作,如果我从不需要取消响应,它将起作用。此响应可能需要一段时间才能发送响应(可能需要几分钟而且永远不会发送最终的0块),而且经常,我想取消此请求(和响应)并在同一连接上发送新请求。 / p>
使用HTTP / 1.1,如何在没有关闭连接的情况下取消分块响应响应?
我目前的解决方法是不使用持久连接,但后来我失去了使用持久连接的所有好处,这使得启动这些请求的速度要慢得多。
答案 0 :(得分:3)
你不能取消它。 HTTP协议中没有任何内容允许您中断HTTP响应。您需要阅读并放弃整个响应或关闭连接。但是,您可以在服务器仍在发送响应时在同一连接上发出另一个HTTP请求,但您仍然必须处理对原始请求的整个响应。