Re: Issue with draft-ietf-httpbis-h2-websockets-07 (in RFC Editor queue)

On 2018-08-10 07:23, Andy Green wrote:
> 
> 
> On 08/10/2018 01:09 PM, Julian Reschke wrote:
>> On 2018-08-10 05:48, Amos Jeffries wrote:
>>> On 10/08/18 11:25, Mike Bishop wrote:
>>>> Ick.  This looks like a 6455 erratum – the registration is “WebSocket”
>>>> but all the (non-normative) examples are “websocket”.  Case-insensitive
>>>> matching is explicitly permitted, and RFC2616/2817 don’t clearly say
>>>> that Upgrade tokens are or aren’t case-sensitive that I can find.  (Nor
>>>> do I see it in 7230…?)
>>>>
>>>
>>> I was of the understanding that Upgrade labels are governed by the
>>> relevant protocols equivalent of RFC 7230 section 2.6 rules. So for
>>> example HTTP labels *are* case sensitive, but WebSockets is free to
>>> define sensitivity for its own label.
>>> ...
>>
>> Is it? What if the code that handles the Upgrade token is 
>> protocol-agnostic? The problem here is that the IANA registry is 
>> first-come-first-serve, and also doesn't have a "case-insensitive" flag.
>>
>> IMHO it would be better to just fix the protocol (ws over h2) - it's 
>> not even published yet after all.
> 
> The problem only exists between RFC6455 talking about case-insensitive 
> receive and the registry having one case variation registered - not the 
> one all the implementations I know of are using to send, "websockets". 
> There're no actual problem in the field... they all send "websockets" 
> but would accept case variation on what they receive.  Also registering 
> "websockets" will formalize the reality everyone is sending "websockets".
> 
> The H2 thing doesn't use the same mechanism, and the CONNECT it does use 
> already specifies a single literal
> 
> ```
> 5.
> 
> The pseudo-header :protocol 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.
> ```
> 
> https://tools.ietf.org/id/draft-ietf-httpbis-h2-websockets-03.html
> 
> I couldn't see anywhere that the :protocol names are "registered", but 
> that's OK isn't it?

The spec says that the value for ":protocol" is an Upgrade token from 
the IANA registry, hence this mail thread :-)

> When you say, "fix the protocol (ws over h2)" what do you envisage 
> getting "fixed" in that?

That would mean changing "websockets" to "WebSockets".

> ...

Best regards, Julian

Received on Friday, 10 August 2018 05:46:47 UTC