On Tue, 9 Oct 2007 19:04:22 +0400
Aleksey Midenkov <[EMAIL PROTECTED]> wrote:

> Yes, I have checked all 6 variants.

Nice - thanks.

>        In case 'Connection:' header is
> in the request, the response is sent exactly how this header asks
> (for both 1.0 and 1.1 protocols). In case of absence of 'Connection:'
> header, the response for 1.0 answers with 'Connection: close' and
> closes the connection. The response for 1.1 does not have
> 'Connection:' header, but keeps the connection open.

OK, that last case is the one that risks biting us: if someone
has asked the server to force a 1.0 response, that could be because
there's a problem with keepalives (yes of course they can work
around it, but we want to avoid breaking existing configs).

On the basis of your analysis, I'd be +1 for checking the Connection
header, and setting AP_CONN_CLOSE iff it doesn't ask for keep-alive.

>        The logic is
> provided by ap_set_keepalive, it is called right after
> basic_http_header_check in ap_http_header_filter. I believe the
> absence of the header in the last variant does regard RFC2616 (as
> 19.6.2 states).

Indeedie.  But a forced 1.0 response is a workaround for agents
that fail to support RFC2616 correctly, so that's not really the point.


-- 
Nick Kew

Application Development with Apache - the Apache Modules Book
http://www.apachetutor.org/

Reply via email to