Re: Thread implementations...

Adam D. Bradley (artdodge@cs.bu.edu)
Sun, 28 Jun 1998 17:19:14 -0400 (EDT)


On Sun, 28 Jun 1998, Marc Slemko wrote:
> On Sun, 28 Jun 1998, MOLNAR Ingo wrote:
> > On 28 Jun 1998, Michael O'Reilly wrote:
> >
> > > Please reconsider this? There are some things that do a LOT of
> > > network-to-network copies (i.e. proxy servers), [...]
> > [...]
> >
> > nope, this is not how squid works. It wants a local copy of fetched
> > documents as well. So squid wants to use sendfile() this way:
> >
> > sendfile(outsidesocket,localfile);
> > sendfile(localfile,clientsocket);
>
> In addition to what other people have said about what squid does, remember
> that, in general, you normally don't want your proxy to buffer the entire
> file locally before it starts sending it to the client. That is horrible
> for large files over slow links.

This is one of the unfortunate problems with HTTP/1.1 - it always
leans towards _semantic_transparency_, not _performant_transparency_.
Read RFC2068 section 13.8 (p.91); a compliant HTTP/1.1 proxy "MUST NOT
return a partial response to a client without explicitly marking it as
such using the 206 (Partial Content) status code." Which means a
"correct" proxy indeed has to do like mingo says (with appropriate
completeness checks in between the two calls).

Of course, I'm not aware of _ANY_ proxy servers that conform to the
RFC on this point, so file this message under "useless trivia" ;-)

Adam

--
You crucify all honesty             \\Adam D. Bradley  artdodge@cs.bu.edu
No signs you see do you believe      \\Boston University Computer Science
And all your words just twist and turn\\    Grad Student and Linux Hacker
Reviving just to crash and burn        \\                             <><
--------->   Why can't you listen as love screams everywhere?   <--------

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu