httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dean gaudet <dgaudet-list-new-ht...@arctic.org>
Subject Re: mod_proxy patch for 1.3.12
Date Wed, 24 May 2000 19:20:58 GMT


On Wed, 17 May 2000, Graham Leggett wrote:

> dean gaudet wrote:
> 
> > i don't think it handles chunking correctly, unless there's an update that
> > i haven't seen yet (possible considering i can only skim new-httpd these
> > days).
> 
> A more accurate description of the issue with chunking, is that it does
> not yet support transfer encoding of any kind.
> 
> As required by the RFC, all transfer encoding headers are stripped from
> the request as it goes through, which means that the patch does work as
> it stands - it does not "break" anything. It should more accurately be
> described though as HTTP/1.1 minus TE support.

no... TE is different from Transfer-Encoding:  pretty stupid imnsho.

Transfer-Encoding is a hop-by-hop header, and if you're proxying from an
HTTP/1.0 client to an HTTP/1.1 server, and the server returns
"Transfer-Encoding: chunked", then you absolutely must remove chunking
before sending the response to the client... and i'm guessing you want to
remove it before you write to disk as well.

> The issue with supporting TE is involved with how - I've been looking at
> the functions in buff.c, that apparently support chunking inline. The
> trouble is, these functions are designed as a single pipeline - data is
> read from one pipe, and then written to another, chunking or dechunking
> as it goes.
> 
> The issue is that mod_proxy requires data to be read and then passed to
> two different pipelines - one to the browser, the other to the cached
> file on disk. This means that I probably need to hack at buff.c to make
> this work efficiently. But - buff.c has been hacked significantly (as
> far as I am aware) between 1.3 and 2.0 - so is the work worth it?

i don't think this requires any changes to buff.c.  you have three BUFFs
-- one open to the server, one to the client, one to the disk.

> Another spanner in the works is that I intent for the mod_proxy code to
> support other TE's, like gzip, etc. It would probably make more sense to
> support this in the same layer that supports chunking...
> 
> I am busy looking at various ways of doing this... will get back to you
> all...

yeah TEs are a whole other issue in addition to Transfer-Encoding.

-dean


Mime
View raw message