質問

IBM JAX-RPCベースのWebサービスを使用して、Websphere 6.1でWebサービスを実行しています。クライアントは、transfer-encoding:chunkedのHTTPヘッダーなしでリクエストを送信しています(content-lengthを指定します)。 websphereからの応答には、HTTPヘッダーに常にtransfer-encoding:chunkedが含まれます。これにより、応答が複数のチャンクで送信されると想定しています。サービスリクエスターとサービスプロバイダーが多くの仲介者(ファイアウォールやロードバランサー(T1 / F5)など)によって分離されているシステムでは、この種のチャンクにより大きなレイテンシが発生する可能性があります。

このリンクおよびこのリンクリクエストのチャンクについて説明しますが、応答には何も言及しません。

HTTPヘッダーの応答にtransfer-encoding:chunkedを追加しないようにwebsphereを構成する方法はありますか?

役に立ちましたか?

解決

websphereでは、チャンクサイズは「書き込みバッファサイズ」によって制御されます。 Webコンテナのインバウンドチャネルのトランスポートチェーン内。ドキュメントから:


クライアントへの応答を処理するために複数の書き込みが必要な場合は、Write buffer sizeパラメーターに指定された値を、クライアントにより適した値に変更します。書き込みバッファサイズパラメータは、処理のためにリクエストを送信する前にWebコンテナがバッファするスレッドごとのデータの最大量を制御します。デフォルト値は32768バイトで、ほとんどのアプリケーションで十分です。応答のサイズが書き込みバッファーのサイズより大きい場合、応答はチャンク化され、複数のTCP書き込みで書き戻されます。

他のヒント

Websphereを構成することはできないと思いますが、それは問題ではありません。 RFC 2616がチャンクエンコーディングについて述べていることを読むことをお勧めします。あなたが思っていることはしません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top