問題タブ [chunked]

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.

0 投票する
2 に答える
3468 参照

php - チャンクされたgzip文字列をデコード/膨張させる方法は?

PHP で gzip deflate リクエストを作成した後、次のようなオフセット チャンクで圧縮された文字列を受け取ります。

フォーマットを示すために大幅に短縮された例:

おそらくチャンク形式のため、それを膨らませることができません。16 進エディタで手動でオフセットを削除し、gzip アーカイブを読み取った後、データが破損していないことを確認できます。このチャンクされた gzip 圧縮された応答を読み取り可能な文字列に解析する適切な方法があるかどうか疑問に思っていますか?

これらのオフセットを分割し、データを 1 つの文字列に結合して gzinflate を呼び出すことができるかもしれませんが、もっと簡単な方法があるはずです。

0 投票する
1 に答える
1324 参照

jboss - JBoss 4.2.3.GAの場合-JBSS応答ヘッダーtransfer-encoding:chunkedにより、jspコンテンツをロードバランサーにキャッシュできなくなります

JBoss 4.2.3.GAには、transfer-encoding:chunkedで生成されているJSP応答があります。これにより、Netscalerロードバランサーは、JSPによって生成されたHTMLが可変コンテンツであると見なされるため、キャッシュされないようになっています。

しかし、max-ageが設定されている場合、転送エンコーディングに関係なく、リクエストはキャッシュされるべきではありませんか?

JSPを固定長で返すようにすることにしました(transfer-encodingがfixedに設定されるようにcontent-lengthを設定します)。。私は次のテストを行いました:

大量のコンテンツを含むtest.jspファイルを使用してJboss4.2.3.GAWebアプリケーションを作成しました。サーバーから転送されたこのJSPファイルをtransfer-encoding:chunkedでデプロイしたときに確認しました。コンテンツの全体のサイズは71.00Kbでした。

test.jspにアクセスして、さまざまな設定を試しました。

test.jspがまだtransfer-encoding:chunkedであることを確認しました。

また、jboss-4.2.3.GA \ server \ default \ deploy \ jboss-web.deployer\server.xmlを編集して設定してみました。

検証済みのtest.jspはまだtransfer-encoding:chunkedです。

私はここで何が間違っているのですか?このコンテンツをキャッシュするにはどうすればよいですか?

0 投票する
3 に答える
1554 参照

c++ - ソケットからの無限読み取り

ソケットから(httpリクエストから)チャンクされたデータを読み取る正しい方法は何ですか?

しかし、サーバーは無限のデータを送信し、socket.receive管理を返しません。チャンクされたデータを部分的に読み取る正しい方法はありますか?(答えはチャンク化されたデータです)。

0 投票する
3 に答える
1533 参照

php - チャンクされた応答を使用するときにクロムキャッシュを無効にする方法

<?php
echo 'first<br>';
ob_flush();
flush();
file_get_contents("http://ttt.tt");
echo "second";

http://ttt.ttに到達できません。そのため、ブラウザーでは「最初に」出力を確認してから、「30 秒」/各スクリプトの最大実行時間/「2 番目」の出力を待つことができます。IE、FFでは問題なく動きます。
ただし、chrome では、"first" && "second" は一緒に出力されます。

私の英語は下手です.あなたが理解できるかどうかわかりません.助けて!!!

私はまた、次のようにブラウザのキャッシュを無効にしようとしました:
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

しかし、問題はまだ存在します..

0 投票する
1 に答える
9046 参照

php - jQuery サポート Transfer-Encoding:chunked

私はウェブ開発者です。私のスクリプトでは、header() を使用して「Transfer-Encoding:chunked」を設定します。そしてflush()をウェブページに。時分割でWebページに印刷されます。それは正常に動作します。しかし、jQuery.ajax() を使用して this.it を要求すると、常にすべて一緒に出力されます (チャンクされて役に立たない)。

これをどのように解決するのですか?jQuery ajaxでチャンクエンコーディングを使用しますか?

0 投票する
2 に答える
902 参照

perl - Unpack を使用してバイナリ データをチャンクに分割する Perl

私はTransfer-Encoding: chunkedHTTP応答を書くために使用しています。

応答は、次のように分割されます。

コンテンツ タイプが の場合、これは正常に機能しますがtext/htmlapplication/pdf.

unpackバイナリデータを等しい長さに分割するために使用できますか?

0 投票する
2 に答える
8994 参照

java - チャンク入力ストリームが予期せず終了しました

Web サーバーからファイルをチャンク形式で取得するプログラムを作成しようとしました。HTTP 3.0 API で ChunkedInputStream クラスを使用しようとしています。コードを実行すると、「チャックされた入力ストリームが予期せず終了しました」というエラーが表示されます。私は何を間違っていますか?これが私のコードです:

0 投票する
2 に答える
1629 参照

java - チャンク化されたデータにソケットを使用する

HttpURLConnection または HttpClient を使用する代わりに、ソケットから直接データを取得するプログラムを作成しようとしています。ソケットを使用すると、要件に合わせてデータを操作する自由度が高まります。ソケットを使用して、各チャンクで送信されたチャンク ヘッダーを保存できることを願っています。以下は、それを達成するための私のコードです。残念ながら、コードはエラーなしで実行されますが、停止するまでに少なくとも 40 秒間実行されます。また、プログラムがサーバーに接続されていることを確認したにもかかわらず、サーバーから InputStream を取得できません。

0 投票する
2 に答える
4422 参照

python - Pythonを使用したチャンクHTTPアップロード

ファイルのアップロードを処理するためのRESTAPIを開発しました。システムは大きなファイルを処理するため、APIはチャンクエンコーディングでアップロードを処理します。APIはJQueryのファイルアップロードプラグインで正常に動作するため、サーバー側で問題は発生しません。

私は現在、Pythonスクリプトを使用して、大量の大きなファイルでバッチ処理を行っています。ただし、Pythonでチャンクアップロードを実行する方法に関する例、コードスニペット、またはガイドは見つかりません。urllib2、httplibを調べましたが、動作させることができません。私もカールを掘り下げましたが、運がありませんでした。

0 投票する
1 に答える
1449 参照

php - PHP - チャンク ファイル コピー (FTP 経由) にバイトがありませんか?

そのため、私はファイル (大小を問わず) をリモート サーバーにコピーするためのチャンク ファイル転送スクリプトを作成しています。それはほとんど素晴らしく動作します (そして、私がテストした 26 バイトのファイルで動作しました (笑)) が、より大きなファイルの処理を開始すると、うまく動作しないことに気付きました。たとえば、96,489,231 バイトのファイルをアップロードしましたが、最終的なファイルは 95,504,152 バイトでした。928,670,754 バイトのファイルでテストしたところ、コピーされたファイルは 927,902,792 バイトしかありませんでした。

他の誰かがこれを経験したことがありますか?何かおかしなことをしているfeof()のかもしれませんが、それを置き換える方法やテストする方法がわかりません。便宜上、コードにコメントを付けました。:)

編集

スクリプトが何らかの形で最後に死んでいて、ファイルが破損していないことを確認しました。各行が 10000 までの行番号に対応する単純なファイルを作成し、スクリプトを実行しました。6253 行目で停止しました。ただし、スクリプトはまだ「完了!」を返しています。最後に、それがタイムアウトの問題だとは想像できません。変!

編集2

問題が のどこかに存在することを確認しましたfwrite()。ループ内でエコーすることにより$chunk、完全なファイルが必ず返されます。ただし、書き込まれたファイルはまだ一致しません。

編集3

fwrite() の直後に sleep(1) を追加するとうまくいくようです。ただし、スクリプトの実行には 100 万年かかります。PHPの追加に固有の欠陥がある可能性はありますか?

編集4

よし、どういうわけか、問題を FTP の問題にさらに切り分けました。このファイル コピーをローカルで実行すると、正常に動作します。ただし、ファイル転送プロトコル (9 行目) を使用すると、バイトが失われます。これは、 の 2 つのケースのバイナリ フラグにもかかわらず発生していfopen()ます。これを引き起こしている可能性があるのは何ですか?

編集5

修正を見つけました。変更されたコードは上記のとおりです。できるだけ早く、自分で回答を投稿します。