You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Akins, Brian" <Br...@turner.com> on 2005/08/11 20:01:32 UTC

2.1 proxy and keepalives

Does this code from 2.1 in apr_proxy_http_request still make sense?  Do we
not want to attempt to maintain the server connection anyway?  Maybe I'm
missing some other logic...

 /* strip connection listed hop-by-hop headers from the request */
    /* even though in theory a connection: close coming from the client
     * should not affect the connection to the server, it's unlikely
     * that subsequent client requests will hit this thread/process,
     * so we cancel server keepalive if the client does.
     */
    if (ap_proxy_liststr(apr_table_get(r->headers_in,
                         "Connection"), "close")) {
        p_conn->close++;
        /* XXX: we are abusing r->headers_in rather than a copy,
         * give the core output handler a clue the client would
         * rather just close.
         */
        c->keepalive = AP_CONN_CLOSE;
    }


Re: 2.1 proxy and keepalives

Posted by Graham Leggett <mi...@sharp.fm>.
Akins, Brian wrote:

> Does this code from 2.1 in apr_proxy_http_request still make sense?  Do we
> not want to attempt to maintain the server connection anyway?  Maybe I'm
> missing some other logic...
> 
>  /* strip connection listed hop-by-hop headers from the request */
>     /* even though in theory a connection: close coming from the client
>      * should not affect the connection to the server, it's unlikely
>      * that subsequent client requests will hit this thread/process,
>      * so we cancel server keepalive if the client does.
>      */

This code was from the days when keepalives were supported, but there 
was no connection pool, so keeping the connection open beyond the end of 
a frontend connection made no sense.

Now there is a connection pool, so in theory the code should no longer 
be there. I would check though whether removing this code (which I think 
is the right thing to do) doesn't uncover some regressions - the major 
testing on the connection pool as I understand revolved around the ajp 
connector rather than the http connector.

Regards,
Graham
--