httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fielding, Roy" <>
Subject RE: cvs commit: apache-2.0/src/main http_protocol.c
Date Fri, 13 Oct 2000 00:47:40 GMT
> This won't work.  It looks like the chunking code in ap_get_client_block
> is currently setting the Content-Length, so the chunk_filter will need to
> set that correctly.  But that also tells me that there is a reason we do
> that.  If nobody inside Apache cared about the Content-Length, then the
> chunk code wouldn't need to set it.  A quick grep shows mod_dav getting
> the value, but since you know mod_dav 1000 x better than me, I'll assume
> you know why, and you won't care if it is set incorrectly.

There are three goals.  One is to only read the correct amount of data
from the transfer protocol, a second is to avoid reading a request
which is larger than a predefined limit (denial of service avoidance),
and the third is to provide a content length to mod_cgi as part of
the CGI protocol.  The latter requires internal server buffering if
the request is chunked (something we've been putting off til 2.0).

I think the answer is to implement something that meets those goals,
even if it means that input filtering cannot be used with some resources
(like CGI) or possibly even with some protocols (like HTTP/1.1).
Perhaps the HTTP input filter needs to start as monolithic by default
and "break itself up" for those requests that can handle streams.


View raw message