さまざまなWebサーバーのHTTPヘッダーを見ると、Google.comには次のものがあることがわかります。
client-transfer-encoding: "chunked"
チャンク転送エンコーディングとは何ですか?Webサーバーで使用する必要がありますか?
さまざまなWebサーバーのHTTPヘッダーを見ると、Google.comには次のものがあることがわかります。
client-transfer-encoding: "chunked"
チャンク転送エンコーディングとは何ですか?Webサーバーで使用する必要がありますか?
Chunkedを使用して、HTTP要求または応答を複数の部分で送信し、1つの部分を送信して、後続の部分を使用できないようにすることができます。
複数の要求と応答のペアを単一のHTTP接続を介して転送できます。(これは、後続の要求に対するTCP connect()のオーバーヘッドを回避するためです。)これを実装するには、クライアントはサーバーの応答がどこで終了するかを知る必要があります。サーバーがContent-Lengthヘッダーを生成する場合、クライアントはバイトをカウントダウンできます。読み取るバイトが残っていない場合、クライアントは次の要求を開始できます。しかし、サーバーが完全な応答の長さを事前に知らない場合、サーバーはどのようにContent-Lengthヘッダーを生成しますか?解決策は、 Content-Lengthの代わりにチャンクを使用することです。
Apache(1.3および2)は、デフォルトで、意味のある場合はいつでも静的ファイルをチャンクとして送信します(そして、HTTPクライアントはそれをサポートします)。何もする必要はありません。独自のWebアプリケーションを作成する場合は、チャンク化された応答を手動で生成することを検討してください。
詳細については、http ://www.research.att.com/~bala/papers/h0vh1.htmlおよびhttp://developers.sun.com/mobility/midp/questions/chunking/を参照してください。