問題タブ [chunked-encoding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
http - ストリーミングされた Comet 通信がブラウザでバッファリングされるのを停止する方法
コメットの「永遠にiframe」を使用し、Transfer-Encoding:チャンクヘッダーを使用してサーバーからスクリプトタグをフィードして、HTTPサーバーからブラウザーにデータのパケットをプッシュしようとしています。私が見つけたのは、スクリプト タグがすぐに解釈されないことです。ブラウザが応答を開始する前に、いくつかのチャンクを送信する必要があります。IE8 の場合、これには 256 バイト相当のデータが必要なようで (正確には確認していません)、Firefox 3.5.7 では 1 キロバイトを超えるようです。接続が閉じる前に Chrome をスクリプト タグに応答させることはまだできていません。ただし、すべての場合において、チャンク データを ('0' チャンクで) 終了すると、バッファリングされたチャンクが解釈されます。私はいくつかの参照を見つけましたSafari ではこの種の動作に対応していますが、他のブラウザではそのような情報は見つかりませんでした。
私が知りたいのは、これらのスクリプト タグが送信されたときに、それらの実行を遅らせる何らかのバッファリング メカニズムのように見えることなく、これらのスクリプト タグを確実に実行するにはどうすればよいかということです。
post - IIS 6 上の asmx Web サービスへの POST 要求でチャンク エンコーディングを使用すると、404 が生成されます。
CXF クライアントを使用して、IIS 6 で実行されている .net Web サービスと通信しています。この要求 (匿名):
4089 バイトの 7 つのチャンクと 369 バイトの 1 つが続き、最初のチャンクが送信された後、次の出力が生成されます。
IIS で POST のチャンク入力を受け入れる方法を知っている人はいますか?
ありがとう
asp.net - ASP.NET でチャンク転送エンコーディングを有効にする
IIS7 上に ASP.NET 3.5 Web サイトがあります。動的圧縮を使用しており、チャンク エンコーディングを有効にできるかどうかを確認したいと考えていました。それを有効にするIISまたはWeb構成の設定はありますか?
apache - ApacheにチャンクされたNginxプロキシhttp PUT
Nginx はチャンクされたリクエストをサポートしていないため、PUT リクエストを apache にプロキシしようとしていますが、nginx はブロックされているようで、プロキシしても 411 エラーが送信されます。これらのリクエストをそのままApacheに送信するようにnginxを取得する方法はありますか?
performance - Content-Length ヘッダーとチャンク エンコーディング
Content-Length
サーバーから[おそらく]大きなファイルを返すために、HTTPヘッダーを設定することと、チャンクエンコーディングを使用することの長所と短所を比較検討しています。永続的な接続を使用して HTTP 1.1 仕様に準拠するには、どちらか一方が必要です。Content-Length
ヘッダーの利点は次のとおりです。
- ダウンロードダイアログは正確な進行状況バーを表示できます
- クライアントは、ファイルが大きすぎて取り込めないかどうかを事前に知っています
欠点は、オブジェクトを返す前にサイズを計算する必要があることです。これは必ずしも実用的ではなく、サーバー/データベースの使用率を高める可能性があります。チャンク エンコーディングの欠点は、各チャンクとダウンロード プログレス バーの前にチャンク サイズを追加するオーバーヘッドが小さいことです。何かご意見は?私が考えていなかったかもしれない両方の方法のための他の HTTP の考慮事項はありますか?
c - libevent2のチャンクされた応答
私はこの方法でlibeventで(大きなファイルの)チャンク応答を実行しようとしています::
問題はこれにあります。add_fileが非同期であると感じているので、3番目かそこらevhttp_send_reply_chunk
でエラー(または同様のもの)が発生します。
[警告]evhttp_send_chainClosed(45):不正なファイル記述子
チャンク転送エンコーディングを実際にテストするMAX_READ_SIZE
ように設定しました。8
使用できる方法があることに気づきましたが、evhttp_request_set_chunked_cb (struct evhttp_request *, void(*cb)(struct evhttp_request *, void *))
使用方法の例が見つかりませんでした。
たとえば、コールバックに引数を渡すにはどうすればよいですか?引数は、要求ハンドラーに渡されたものと同じ引数のようですが、送信するファイル記述子とファイルオフセットを保持するオブジェクトを作成したいので、必要なものではありません。
すべての助けに感謝します。
よろしくお願いしますスリ
php - PHP に Chunked レスポンスを生成させる方法
私はこの問題をグーグルで検索しましたが、答えはありません。
PHP スクリプトで HTTP 応答をチャンク ( http://en.wikipedia.org/wiki/Chunked_transfer_encoding )で生成したい。どうやってするの?
更新:私はそれを理解しました。Transfer-encodingヘッダーを指定してフラッシュする必要があります。
フラッシュが必要です。それ以外の場合、Content-Length ヘッダーが生成されます。
そして、私は自分でチャンクを作らなければなりません。ヘルパー機能があれば難しくありません。
http - Win32: WinHttpReadData でのチャンク エンコーディング サポートのステータスは?
WinHttpReadDataのドキュメントには、 HTTP のチャンク転送コーディングに関して次のように書かれています。
Windows Vista および Windows Server 2008 以降、WinHttp を使用すると、アプリケーションはサーバーに送信されたデータに対してチャンク転送エンコードを実行できます。Transfer-Encoding ヘッダーが WinHttp 応答に存在する場合、WinHttpReadData はデータをアプリケーションに渡す前にチャンク情報を取り除きます。
誰でもこれを解読できますか?
Q1まず、このテキストは WinHttpReadData のページにあります。これは、... HTTP クライアント アプリケーション内でデータ、具体的には応答データを読み取るために使用されます。それで、それが言うとき、それはどういう意味ですか
Windows Vista および Windows Server 2008 以降、WinHttp を使用すると、アプリケーションはサーバーに送信されたデータに対してチャンク転送エンコードを実行できます。
WinHttpReadData 関数は、サーバーに送信されるデータでは使用されません。サーバーからデータを読み取るときに使用されます。
HTTP 要求の一部としてサーバーにデータを送信するために使用される WinHttpWriteData 関数のドキュメントを参照すると、チャンク転送機能については言及されていません。
Q2新しいチャンク転送サポートが何を意味するかを把握したとしたら、どうすればそのサポートを得ることができますか? Vista と WS2008 で新しいと書かれています。WS2003 で実行され、WinHttpReadData を使用するアプリを作成し、チャンクされた応答または WinHttpWriteData に遭遇し、チャンクされた要求を送信したい場合はどうなりますか?
行間で、このドキュメントは、Vista 時代の Windows SDK 以降の WinHttp.lib に対してリンクする必要があると言っていますか? それともWS2003では本当に無理なのでしょうか? つまり、このライブラリを使ってチャンク転送を行うアプリは、指定されたOSで動作しなければならないということでしょうか?
これは暴言のように聞こえるかもしれませんが、そうではありません。本当に知りたいです。
tomcat - チャンク問題中のTomcatgzip
データソースサービスの1つで問題が発生しています。HTTP応答ヘッダーに記載されているように、Apache-Coyote/1.1で実行されています。サーバーはTransfer-Encodingで応答を返します:チャンク、ここではサンプル応答:
そして問題は、サーバーにgzip圧縮された要求を送信するように要求しているときに、完全な応答を送信しないことがよくあることです。応答を受信し、最後のチャンクが受信されたことを確認しましたが、解凍した後、応答が部分的であることがわかりました。リクエストヘッダーでgzipをオフにした場合のこのような動作は見たことがありません。
だから私の質問は:それは一般的なTomcatの問題ですか?多分それの1つは圧縮をしているmodですか?それとも、ある種のプロキシの問題でしょうか?tomcatのバージョンや使用されているgzipmodについてはわかりませんが、お気軽にサービスプロバイダーに問い合わせてみます。
ありがとう。
asp.net - ASP.NET応答で、明示的または暗黙的にTransfer-Encodingをチャンクに設定するにはどうすればよいですか?
Transfer-Encoding
ヘッダー を設定するだけでいいですか?
ある時点で呼び出すとResponse.Flush()
、これが暗黙的に発生しますか?
編集
いいえ、私はResponse.Headers.Add("Transfer-Encoding","anything");
それをスローと呼ぶことはできません。
他に何か提案はありますか?