- From: Mark Nottingham <mnot@mnot.net>
- Date: Wed, 29 Aug 2018 09:46:38 +1000
- To: Mike Bishop <mbishop@evequefou.be>
- Cc: Alexey Melnikov <alexey.melnikov@isode.com>, Patrick McManus <mcmanus@ducksong.com>, "Julian F. Reschke" <julian.reschke@gmx.de>, HTTP Working Group <ietf-http-wg@w3.org>
On 29 Aug 2018, at 6:38 am, Mike Bishop <mbishop@evequefou.be> wrote: > > I think it's probably the most interoperable to duplicate the existing entries to the new token. That means that it would just say "The Web Socket Protocol" and reference RFC6455. I don't think that's helpful; someone looking at the registry would rightly wonder why there are two nearly-identical entries, without any visible means of finding out. If we're really going to go this route, I'd suggest: "The Web Sockets Protocol over HTTP/2" with a reference to this specification, along with explanatory text in this spec noting that it's a different value, and why. Personally, I really wonder if existing implementations have seen enough deployment to preclude just changing the value. > > -----Original Message----- > From: Mark Nottingham <mnot@mnot.net> > Sent: Monday, August 27, 2018 4:55 PM > To: Alexey Melnikov <alexey.melnikov@isode.com> > Cc: Patrick McManus <mcmanus@ducksong.com>; Julian F. Reschke <julian.reschke@gmx.de>; HTTP Working Group <ietf-http-wg@w3.org> > Subject: Re: Issue with draft-ietf-httpbis-h2-websockets-07 (in RFC Editor queue) > > Saying that it's an "alias" implies that the values are interchangeable, which seems like an interop issue given the current specs. > > IANA and the RFC editor are asking for exact text for the registry values; what should we write? > > Cheers, > > > >> On 15 Aug 2018, at 7:01 pm, Alexey Melnikov <alexey.melnikov@isode.com> wrote: >> >> >> On 9 Aug 2018, at 22:31, Patrick McManus <mcmanus@ducksong.com> wrote: >> >>> 6455 also uses lower case "websocket" when sending (and it mandates case insensitive parsing when receiving) even though the registry apparently has "Websocket" defined. >>> >>> I'd prefer to just register websocket as an alias. in my experience that's the normal usage. >> >> Agreed. >> >>> On Thu, Aug 9, 2018 at 1:16 AM, Julian Reschke <julian.reschke@gmx.de> wrote: >>> <https://tools.ietf.org/html/draft-ietf-httpbis-h2-websockets-07#section-4>: >>> >>> o A new pseudo-header field :protocol MAY be included on request >>> HEADERS indicating the desired protocol to be spoken on the tunnel >>> created by CONNECT. The pseudo-header field is single valued and >>> contains a value from the HTTP Upgrade Token Registry located at >>> https://www.iana.org/assignments/http-upgrade-tokens/http-upgrade- >>> tokens.xhtml >>> >>> And in <https://www.iana.org/assignments/http-upgrade-tokens/http-upgrade-tokens.xhtml>: >>> >>> WebSocket The Web Socket Protocol [RFC6455] >>> >>> But, later on in <https://tools.ietf.org/html/draft-ietf-httpbis-h2-websockets-07#section-5> and subsequent examples: >>> >>> The :protocol pseudo-header field MUST be included in the CONNECT >>> request and it MUST have a value of "websocket" to initiate a >>> WebSocket connection on an HTTP/2 stream. Other HTTP request and >>> response header fields, such as those for manipulating cookies, may >>> be included in the HEADERS with the CONNECT method as usual. This >>> request replaces the GET-based request in [RFC6455] and is used to >>> process the WebSockets opening handshake. >>> >>> Note that the registered upgrade token is "WebSocket", but the spec requires the use of "websocket". >>> >>> See also <https://github.com/httpwg/http-core/issues/8>. >>> >>> Recommendation, in order of preference: >>> >>> 1) Fix the spec to use "WebSocket" consistently. >>> >>> 2) Register "websocket" as alias. >>> >>> It would probably be good to also clarify that value matching for ":protocol" is consistent with "Upgrade" in HTTP/1.1, meaning case-sensitive. >>> >>> Best regards, Julian >>> >>> > > -- > Mark Nottingham https://www.mnot.net/ > > > > -- Mark Nottingham https://www.mnot.net/
Received on Tuesday, 28 August 2018 23:47:07 UTC