1

この質問は主に HTTP の質問です。私は iOS アプリに取り組んでいますが、この質問は iOS に固有のものではありません。

永続的な接続を使用したいのですが、明示的に Content-Length を送信する代わりに、HTTP 応答がチャンク転送タイプを使用するまで問題はありません。応答自体は正常に機能し、応答をキャンセルする必要がなければ機能します。この応答は、応答を送信するのに時間がかかる場合があり (数分かかる場合があり、最後の 0 チャンクを送信することはありません)、頻繁に、この要求 (および応答) をキャンセルして、同じ接続で新しい要求を送信したいと考えています。

HTTP/1.1 では、接続を閉じにチャンクされた応答応答をキャンセルするにはどうすればよいですか?

私の現在の回避策は、永続的な接続を使用しないことですが、永続的な接続を使用する利点がすべて失われ、これらの要求の開始が大幅に遅くなります。

4

1 に答える 1

4

キャンセルすることはできません。HTTP プロトコルには、HTTP 応答を中断できるものは何もありません。応答全体を読み取って破棄するか、接続を閉じる必要があります。ただし、サーバーがまだ応答を送信している間に同じ接続で別の HTTP 要求を発行することはできますが、元の要求に対する応答全体を処理する必要があります。

于 2012-07-18T22:55:40.227 に答える