From: Henrik Nordstrom <henrik@xxxxxxxxxxxxxxxxxxx> Subject: Re: About squid ICAP implementation Date: Fri, 14 Nov 2008 12:11:19 +0100 > > > Allow: 204 is sent if it's known the whole message can be buffered > > > within the buffer limits (SQUID_TCP_SO_RCVBUF). It's not relaed to > > > previews. > > > > Why is there such a limitation (SQUID_TCP_SO_RCVBUF) ? > > I hope that squid always send "Allow: 204" to icap servers as much > > as possible... > > Because to send "Allow: 204" Squid must buffer the whole message. This > buffering is done in memory. Imagine what would happen if the message is > a dual layer DVD ISO image.. (6-8GB in size). I think to send "Allow: 204" & Preview: , squid must buffer not the whole message, but the whole *Previewed* message. (part of the message) tcp (or server) keeps the message, I think. e.g. squid doest not read the message (from socket), tcp keeps the message until his buffer becomes full, and when tcp buffer is full, tcp sends window size = 0 packet and then the server keeps the message... I think it is better to send Allow: 204 header, when squid sends Preview: header. (of course Preview: values needs some limitation) Do I have the wrong idea? best regrads -- Takashi Tochihara