On 9/17/06, Manuel Lemos <mlemos@xxxxxxx> wrote:
Hello, I have some PHP scripts that serve dynamic HTML content that takes a while to serve completely. They have Javascript blocks that I need to execute immediately on the browser right after the PHP scripts outputs them, even while the script is not yet finished. So, chunked content encoding is perfect for this. However, I use mod_deflate with Apache 2.2 (or mod_gzip with Apache 1.3) and these modules dechunk content before serving. So I need to find a way to either enable chunking or disable mod_deflate/mod_gzip for these particular cases . The dificulty is that the same URLs may or may not stream Javascript blocks depending on conditions evaluated only at runtime by the scripts. So I need to find another way of signaling mod_deflate/mod_gzip to not dechunk the response. I think I could emit a custom response header like "x-dechunk: no" or something else as a flag to prevent dechunking. However, I do not know how to configure mod_deflate/mod_gzip to act upon that flag. Anybody has any ideas?
I don't think you are looking at this from the right perspective. The decision to use chunked encoding or not happens at a different level than the mod_deflate decision. My guess is that you are not seeing chunking because mod_deflate needs to accumulate a bunch of content before compressing it in order to get the optimal compression. This is controlled by the DeflateBufferSize directive. If it happens to get the entire response, then the optimal decision for the chunking layer is to send the known content-length, rather than chunking the response. You could try reducing DeflateBufferSize, in which case it is more likely that incomplete responses (with unknown total content length) will be sent to the chunking layer, hence resulting in chunked responses to the client. Joshua. --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx