問題タブ [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.
android - AndroidでJSONでファイルを送信するには?
http クライアントを使用して JSON でファイルを送信したいのですが、どのように開始すればよいかわかりません。この JSON 形式でデータを送信します。
ご覧のとおり、ファイルをチャンクで送信します。ファイルをバイト配列に変換するかどうかはわかりません。必要に応じて、サンプル コードに感謝します。
java - 大きなチャンク リソースにアクセスすると、HttpClient が TruncatedChunkException をスローする
[httpcore 4.1.4、httpclient 4.2.5、Oracle JDK 1.7.0_25 を使用]
webapp の javascript (AJAX) コードに代わってサードパーティの web サービスへの接続を「プロキシ」しようとしていますが、大きなchunked
応答で失敗したようで、複数の RST を送信してorg.apache.http.TruncatedChunkException
.
だから私は疑問に思っています:
- http クライアントが接続を切断しようとするのはなぜですか?
- それは賢明なことをしていますか?(つまり、サーバーに問題がある可能性があります)、またはここで何かバグがありますか?
私の基本的なアプローチは、サーブレットのリクエスト オブジェクトから apache コンポーネントの httpclient リクエストにすべてをコピーして実行することです。より具体的には、私は:
- Apache Commons httpclient DefaultHttpClient オブジェクトを作成し、
- すべてのリクエスト ヘッダーを新しいリクエスト オブジェクトにコピーし、
host
プロキシ先のホスト/ポートを使用して、新しいリクエストのヘッダーを設定 (/オーバーライド) します。- すべての HTTP パラメータを新しいリクエストにコピーします。
- エンティティ本体を新しいリクエストにコピーし、
- リクエストを実行し、
- 応答ヘッダーをサーブレットの応答ヘッダーにコピーし、
- エンティティ本体をストリームとしてサーブレットの出力ストリームにコピーします。
問題を引き起こしているビットは最後のビットです。チャンクの途中で失敗したようで、次のスタック トレースが表示されます。
私はWiresharkでそれをスヌープし、次のようなプロセスを取得しました:
私の限られた理解では、FIN は「送信が完了しました」を意味します。これは、クライアント ヘッダーが既に送信されているため、IMO で十分です。ただし、RST/リセットは接続を切断しようとしているようです。
クライアントの HTTP ヘッダーは次のとおりです。
サーバーの場合:
ところで、この質問: [restlet ]TruncatedChunkException:は似ていますが、役立つ情報はないようです。
更新:チャンクされていないサイト (/. :-) ) で試してみましたが、次のように同様に失敗します:
asp.net - Transfer-Encoding: Chunked cause 404 The system cannot find the file specified
IIS6 によって提供されるページに投稿しようとしており、次のヘッダーを追加しています。
これを行うと、404
エラーが発生します: The system cannot find the file specified.
。このヘッダーのないページに同じリクエストを行うと、間違いなく存在します。
ヘッダーは次のとおりです。2 つのリクエストの唯一の違いはチャンクです...
そして本体:
IIS メタベースには、W3SVC レベルで AspEnableChunkedEncoding が true に設定されており、サイト レベルではオーバーライドされません。
404 エラーが発生するのはなぜですか?
更新: 失敗した要求に対する応答で、次のことに気付きました。
...ヘッダーがありません。それが役立つかどうかはわかりません-リクエストにヘッダーを設定しない場合はそこにあります。
node.js - Node.js は res.end が呼び出されるまで res.write できません (チャンク)
これは本の例です:「Professional Node.js」。タイムスタンプを毎秒 3 秒間出力する必要があります。しかし、 res.end() が呼び出される前に何も表示されません: (すべてが画面に表示される前に、3 秒の間にページが読み込まれます...)
あなたも同じですか?
[編集:]チャンク転送エンコーディングで応答する このシンプルな Node.js サーバーを見つけましたが、それも機能しません... (すべてが end() 呼び出し ~5s の後に表示されます)
ruby-on-rails - Rails アプリがチャンク転送エンコーディングを使用しているのはなぜですか?
アプリのどこにも使用していませんstream
が、応答はまだ送信されていますtransfer-encoding: chunked
追加の謎 #1: ヘッダーは小文字です
追加の謎 #2: がありetag
、レールではデフォルトで本体の md5 を使用して計算されますが、ストリーミングの場合は実行できません。
より詳しい情報
- レール4.0.1
- 1.9.3モードのjruby 1.7.6
- ヒロク
- プーマ
proxy - Apigee プロキシにサイズ制限はありますか?
バックエンド API 用に単純なパススルー プロキシを構成しました。短いデータを返す URL では問題なく動作します。約 700KB のデータを返す 1 つの URL があります。このため、ステータスが 200 の部分的なデータ (約 54K) のみが返されます。API プロキシのサイズ制限を増やす方法はありますか?
「チャンクされた」応答さえ返さない:-(
http - Heroku はチャンクされた HTTP POST データをサポートしていますか?
開発中のアプリケーションがあり、チャンクされた HTTP/1.1 POST 要求を使用して未定義の量のデータをサーバーに送信したいと考えています。
今のところ確認できるのは、最初のヘッダーの後にサーバーに何も送信されていないように見えることだけです。
アプリケーション (ノード エクスプレス) で、応答の「データ」イベントをログに記録すると、次のように表示されます。
ただし、ローカルでは、同じロギングで次のようになります。
不足している可能性のあるものはありますか?
javascript - Comet: XMLHttpRequest.responseText が際限なく増大
全て、
私は彗星 JS ライブラリの実装に取り組んでいます。現在、応答テキストのサイズを追跡しており、チャンクが到着すると新しい部分を返しています。これにより、コールバックに新しいデータが提供されますが、これは明らかなメモリ リークです。XMLHttpRequest オブジェクトを強制的に閉じたり、responseText の内容を定期的にリセットしたりする方法はありますか?