You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Dave O'Hair <do...@novell.com> on 2004/12/07 02:43:48 UTC

possible bug in Apache 2.0 (sending chunked body with HTTP/1.0)

This is low priority.  The only reason I'm hitting it is because I'm
working with a custom Apache module that does URL-based redirection to
an Application Server, and I've managed to work around it pretty easily.
 I doubt anyone using Apache out of the box would ever see it.

When SSL is being used the default ssl.conf file includes these
settings:

SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

The force-response-1.0 environment variable is handled in
basic_http_header_check(), in http_protocol.c:

    if (r->proto_num == HTTP_VERSION(1,0)
        && apr_table_get(r->subprocess_env, "force-response-1.0")) {
        *protocol = "HTTP/1.0";
        r->connection->keepalive = AP_CONN_CLOSE;
        r->chunked = 0; /* NEW CODE */
    }

So in addition to changing the protocol header it disables the HTTP
keepalive which is not part of the HTTP 1.0 specification.  At this
point I think it should also disable chunking of the request back to the
client (as in the above example), since chunking was also not part of
the spec, and in fact if you send a chunked response back with a HTTP
1.0 protocol header it causes some browsers (IE) to display the response
body incorrectly.