httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthieu Estrade>
Subject Re: Problem with cache+proxy and multiple brigade
Date Mon, 14 Oct 2002 08:36:11 GMT
Graham Leggett wrote:

> Matthieu Estrade wrote:
>> I found a problem with mod_cache and mod_proxy...
>> when cache is storing the data + headers in memory, it doesn't care 
>> about Transfert-Encoding...
> AFAIK proxy should always dechunck any chunked data it receives before 
> passing it up the stack. The caching stuff should never see chunked data.
> If cache does, it could be because someone is putting the cache filter 
> in the wrong place in the stack, ie before the dechunk filter.

I can't see something in chunk_filter deleting the Transfer-Encoding 
header if present and not chunked data...
maybe i am in the wrong part of code. is there some dechunk_filter ?

but i don't understand why mod_cache should store this header, because 
when it will serve the document from cache, i don't see why it should 
take care about how proxy received the data because it store all the 
data in the same brigade... cache->saved_brigade.
So if we delete the header each time we serve from cache, it will take 
more time than if we delete it before storing it in the cache_headers_out.

>> +    /* Delete Transfer-Encoding if present, coming from reverse 
>> proxy */
>> +    +    if (apr_table_get(r->headers_out,"Transfer-Encoding")){
>> +        apr_table_unset(r->headers_out,"Transfer-Encoding");
>> +    }
>> + 
> Just arbly deleting the transfer encoding will definitely not work. 
> You need to make sure the content is dechunked as well. Only the 
> dechunk filter should remove the transfer encoding header. 

i will debug to see when cache_in and chunk_filter are called...

> Regards,
> Graham

View raw message