- From: Mark Nottingham <mnot@mnot.net>
- Date: Wed, 15 Aug 2018 15:50:38 +1000
- To: "Julian F. Reschke" <julian.reschke@gmx.de>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>, Alexey Melnikov <alexey.melnikov@isode.com>, Patrick McManus <mcmanus@ducksong.com>
As I understand it, implementations are already using this value, so changing the token specified might cause further interoperability issues. As such, the pragmatic thing to do seems to be #2 below -- registering "websocket" as an alias (probably with a note explaining why). Since the registry is FCFS, I don't think we need to get the registration request into *this* document -- but if anyone disagrees, please say so ASAP, as it's in AUTH48. Cheers, > On 9 Aug 2018, at 3:16 pm, 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/
Received on Wednesday, 15 August 2018 05:51:07 UTC