Re: I-D for a YANG data model to configure HTTP clients and servers

> On 12 May 2020, at 4:57 am, Kent Watsen <kent+ietf@watsen.net> wrote:
> 
>> Regarding the http-server-grouping - I'm not sure I understand why it's important to configure the version that the server supports. Wouldn't a server just support all of the versions it implements?
> 
> Maybe.  But my understanding is that older/newer HTTP versions are purposely disabled sometimes for application-level compatibility reasons.  By "application", it may not necessarily be a standard web content server (i.e., it might be an application that uses a REST-based API).
> 
> FWIW, the NGINX server configuration file has an "http2" flag in its "listen" directive, and Apache's "Protocols" directive takes values like "h2" and "http/1.1".    To be fair, these directives may only exist to introduce support for new protocol versions (e.g., HTTP/2) in a backwards-compatible manner. 
> 
> That said, the NETCONF WG isn't particularly beholden to limiting which HTTP versions a server supports.   If the HTTP WG doesn't think there's any value, then this ability likely should be removed!

I'm not against it per se, it just seems odd to me. 


>> Also, what are you using for the values of <protocol-version/>? "HTTP/2.0" is a valid version, but the specification that you're probably referring to is "http/2".
> 
> According to the Section 4.3 in the I-D, the configurable values are "HTTP/1.0", "HTTP/1.1", and "HTTP/2.0".
> 
>> These days, people tend to use ALPN protocol identifiers (which isn't without problem, but it is populated and widely understood): 
>>  https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
> 
> I see "HTTP/1.0" and "HTTP/1.1" in that registry but not "HTTP/2.0".   Regardless, assuming we keep the ability to limit what protocol versions an HTTP server supports (see above discussion), we're happy to use the preferred values (though it seems like that might be the case already).

HTTP/2 is registered as "h2". You won't see HTTP/2.0 because the protocol is called "HTTP/2" - see RFC7540.

Cheers,


--
Mark Nottingham   https://www.mnot.net/

Received on Tuesday, 12 May 2020 00:42:45 UTC