httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Manuel Lemos <mle...@acm.org>
Subject [users@httpd] Re: Preventing mod_deflate dechunking of dynamic content
Date Tue, 26 Sep 2006 03:09:26 GMT
Hello,

on 09/19/2006 02:38 PM Joshua Slive said the following:
> On 9/19/06, Manuel Lemos <mlemos@acm.org> wrote:
>> So, my doubt is: how can I configure Apache to return a response that
>> may trigger chunking/compression or not that mod_gzip/mod_deflate
>> performs ?
>>
>> I though of returning a custom header like "x-dechunk: no" from the PHP
>> script response. But how can I configure Apache with
>> mod_gzip/mod_deflate to not compress responses when that header is
>> returned by a PHP script?
> 
> It's easy enough to turn on or off deflate per-request using the
> no-gzip environment variable.  But unfortunately, I don't think there
> is any way to set an environment variable based on a response header.
> This is because env variables need to be set early in order to be
> useful for content handlers.  So they are set too early to look at
> response headers.
> 
> One option would be to have your php script do an internal redirect to
> a non-deflated page.  Another option would be to deflate everything,
> but pad small response segments up to DeflateBufferSize.  (The padding
> should be mostly compressed away anyway.)

Looking closer at the problem, I realized that mod_deflate does not
dechunk gzip compressed responses, like mod_gzip does.

So, for the purpose of flushing HTML blocks with Javascript sections,
that is fine, although I wonder if the overhead of compress small blocks
 still pays the bandwidth/throughput benefits. Maybe it does.

Now I wonder if there is a way to force dechunking Apache 2 responses.

OTOH, mod_gzip allows turning off compression (and its dechunking)
dynamically with configuration line like thos:

mod_gzip_item_exclude         rspheader  "X-do-not-compress-this: yes"

So, when my PHP scripts issue the header X-do-not-compress-this,
mod_gzip does not compress the response nor dechunks it.

Dechunking by mod_gzip is turned on by the mod_gzip_dechunk
configuration option . There seems to not exist an option to do that
dynamically. I wonder if there is a way to turn off dechunking with
setenvif .

-- 

Regards,
Manuel Lemos

Metastorage - Data object relational mapping layer generator
http://www.metastorage.net/

PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/


---------------------------------------------------------------------
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@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message