We can choose any string we want, but for ALPN negotiation there is only http/1.1 defined. We could of course translate that but then we need to explain somewhere what we mean by it.
For the Upgrade case, we could ap_get_protocol make return exactly what the client sent us. But accomodating for http/1.0 and 0.9 in case of Upgrade sounds rather esoteric. I would rather keep it simple. The exact http version is available at the request_rec for anyone who really cares. > Am 02.09.2015 um 18:53 schrieb William A Rowe Jr <[email protected]>: > >> On Wed, Sep 2, 2015 at 11:20 AM, Yann Ylavic <[email protected]> wrote: >> >> It is not clear to me (still, see [1]) why Protocols would default >> like this, and h2 be available for all the vhosts (provided mod_http2 >> is loaded) unless the above is configured. >> IOW, I'd prefer "Protocols http/1.1" to be the default (at least for 2.4.x). >> >> Also, since "http/1.1" is implicit, and ssl_callback_alpn_select() is >> unconditionally registered, we can end up negociating proposing >> "http/1.1" with the client even if is was not asked (and using ALPN >> extensions when not needed). > > Just a side thought... we are still honoring http/1.0. Wouldn't http/1 be > more reflective of the state of the protocol (e.g. http/1.0 or http/1.1 are > honored)? > > Or do we intend to distinguish these and permit only one or the other > (in which case, http/1 might still be correct in this case, but the user > could alternately specify http/1.1 to permit only 1.1 negotiation?) >
