[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: HTTP Proxy



"Adam D. Bradley" wrote:
> 
> Darrin Thompson wrote:
> >
> > Igor and friends,
> >
> > Have you considered implementing http proxy capabilities in a TUX kernel
> > module? It seems like TUX is the ideal place for a proxy.
> >
> > * That I know of, no one has implemented a really good (free) proxy that
> > can perform the new functions in HTTP 1.1 spec.
> >
> > * The HTTP 1.1 proxy features include some HTTP headers directly related
> > to caching. TUX seems well suited to handling these.
> 
> I'm working on an event-driven user-space proxy cache that implements
> HTTP/1.1.  (For the record, I intend to GPL it once I've stabized it.)
> And it is neither fun nor easy.  No, let me rephrase.  The last
> version was threaded, and that was really hard to get right.  Doing
> HTTP/1.1 proxying and caching with an event-driven server, including
> all of the MUSTs and most of the SHOULDs, is nightmarish.  There are
> WAY too many corner cases outlined in the spec.  (And it has lots of
> gotchas that tend to rear their ugly heads only after you've spent
> two months on design that has nasty interactions with unspoken
> assumptions and subtleties of the BNF.)  And from the looks of
> the TUX code, the current authors seem intersted in avoiding corner
> cases at all costs.  (Examples: A valid HTTP header doesn't need a
> space after the ":".  Header line folding is ignored.  I could go
> on...)
> 
> A pure HTTP/1.1 proxy (no caching) might be a reasonable possibility...
> it'll require some more infrastructure (f.e. a DNS resolver), but it's
> at least a managable project.

Ever thought of joining the Squid effort?  There are now rumblings of a
move towards HTTP 1.1 in the near future (in the 2.5 devel tree
probably).  It is also going to be an event driven architecture by the
time of version 2.5, or the next major version 3.0 after that at the
latest (8-10 months).  /dev/poll code is already well started, as is an
experimental sigio model.

Here is what has been deemed 'missing' for complete HTTP 1.1. compliance
in Squid, and Robert and Moez (squid developers) will be working on this
over the next few months.  I'm sure they'd all love to have help.

http://www.ideal.net.au/~collinsdial/squidhttp1.1.htm

One of the biggest hurdles (chunked transfer encoding) has several
people working on it.

Hooking Squid into TUX would probably be a fascinating experiment, and
probabbly well worth the effort.
                                  --
                     Joe Cooper <joe@swelltech.com>
                 Affordable Web Caching Proxy Appliances
                        http://www.swelltech.com





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []