【问题标题】:Cancel HTTP/1.1 Chunked Response AND Maintain Persistent Connection取消 HTTP/1.1 分块响应并保持持久连接
【发布时间】:2012-07-18 20:27:10
【问题描述】:

这个问题主要是一个 HTTP 问题,我正在开发一个 iOS 应用程序,尽管这个问题并不特定于 iOS。

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

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

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

【问题讨论】:

    标签: ios http persistent-connection chunked


    【解决方案1】:

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

    【讨论】:

    • 这是我最初的结论,但我希望有其他方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多