On Mar 26, 2008, at 5:45 PM, Dirk-Willem van Gulik wrote:
>
> On Mar 26, 2008, at 5:23 PM, Konstantin Chuguev wrote:
>
>> A small correction: I meant writev() calls instead of sendfile()
>> when working with small-size buckets.
>>
>> The filter I'm developing provisionally splits the supplied buckets
>> into relatively small buckets during content parsing. It then
>> removes some of them and inserts some other buckets. Before passing
>> the resulting brigade further down the filter chain, it merges all
>> buckets that have their data in contiguous memory regions back
>> together. So I guess I'm doing my bit in preventing excessive
>> chunking.
>
>> I've done some research on the source files of httpd-2.2.6. The
>> CORE filter seems to do de-chunking in the case when 16 or more
>> buckets are passed to it (actually, the brigade is split if it
>> contains flush buckets and each split part is checked for 16
>> buckets) AND the total amount of bytes in the 16 buckets does not
>> exceed 8000. The filter then buffers the buckets together. Very
>> clever.
>
> Hmm - I am not sure that this always works - i.e. try this :)
>
> $ cat test.shtml
Ok - thunderbird quot-ing detection ate the cut and paste -- so it
should be
[!--#echo var="error" --] [!--#echo var="error" --] .. repeated
umpteen times.
replace [] by <>.
> (make sure that all spaces between the > and < are gone) and have
> the usual:
And that is a type - make sure that there is all but exactly ONE space
between the > and the <.
> AddType text/html .shtml
> AddOutputFilter INCLUDES .shtml
> Options Includes
> ..
>
> in your config. You then get the output below.
>
> Dw.
>
> (echo GET /test.shtml HTTP/1.1; echo Host: localhost: echo; echo;
> sleep 10) | telnet localhost 80
> Connected to localhost.
> Escape character is '^]'.
> HTTP/1.1 200 OK
> Date: Wed, 26 Mar 2008 16:39:35 GMT
> Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.7l DAV/2 PHP/
> 5.2.5
> Accept-Ranges: bytes
> Transfer-Encoding: chunked
> Content-Type: text/html
>
>
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 1
>
> 2
>
>