3

HTTP 応答にバッファリングされた出力 (つまり、Transfer-Encoding: chunked) が含まれており、チャンク間に遅延がある場合、Chrome と Internet Explorer は、応答全体が受信されるまで応答を表示しません。Firefox は、受信したコンテンツを表示します。

このテスト ページを Firefox で試してから、Chrome または IE で試してください。

完全な応答を待つのではなく、受信したコンテンツを Chrome と Internet Explorer に強制的にレンダリングさせる方法はありますか? おそらくいくつかのHTTPヘッダー?

4

2 に答える 2

2

秘訣は、最初に大量のデータを送信して、ブラウザーに出力のレンダリングを強制的に開始させることです。私のテストでは、Chrome が応答のレンダリングを開始するには 1024 文字で十分です。IE10 は、4065 文字を受信するまで応答しません。

これはちょっとしたハックですが、うまくいきます。

于 2013-01-19T00:46:06.687 に答える
0

Google Closure の browserchannel では、サーバーが 290 バイトの文字列を送信して、IE に最初のチャンクからコンテンツを強制的にレンダリングさせます。

https://code.google.com/p/libevent-browserchannel-server/wiki/BrowserChannelProtocolの「290 バイト文字列 7cca694...e693af」を参照してください。

于 2013-04-09T09:26:55.207 に答える