[Lispweb] serving very large files from allegroserve
jkf at franz.com
Thu May 3 05:42:07 CDT 2007
> In Acl 6.1 we added the capability of having each I/O operation to
> a socket stream time out. This means that we don't have to
> predict how long it should take to get a request or send a
> response. As long as we're making progress reading or writing we
> know that the client on the other end of the network connection is
> alive and well.
> Fine words. But totally contradicted by having a response-timeout slot
> in the server.
I wouldn't call it a contradiction at all. Suppose you have some
people trying to attack your web site by making requests and very
very slowly reading the response. If you just let them do this
then they can tie up a lot of server resources for a long time.
So allegroserve offers a global timeout for the whole request
(which defaults to 300 seconds if you're also doing timeout
on each I/O). If you know you'll be sending things that
could take a long long time then feel free to change
the 300 to a huge value. You're still protected by the timeout
on I/O which will ensure that some progress gets made ever
N seconds (default 120).
More information about the lispweb