Re: [hybi] Last Call: <draft-ietf-hybi-thewebsocketprotocol-10.txt> (The WebSocket protocol) to Proposed Standard

Bruce Atherton <> Thu, 21 July 2011 22:15 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 767DA21F8567; Thu, 21 Jul 2011 15:15:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id wB5GhHwlFO4N; Thu, 21 Jul 2011 15:15:50 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id AD02421F8538; Thu, 21 Jul 2011 15:15:50 -0700 (PDT)
Received: from [] (helo=[]) by with esmtpa (Exim 4.69) (envelope-from <>) id 1Qk1X1-0002J7-Nn; Thu, 21 Jul 2011 15:15:47 -0700
Message-ID: <>
Date: Thu, 21 Jul 2011 15:15:59 -0700
From: Bruce Atherton <>
User-Agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0
MIME-Version: 1.0
To: David Endicott <>
References: <> <> <9031.1311082001.631622@puncture> <> <> <> <> <> <9031.1311270000.588511@puncture> <> <>
In-Reply-To: <>
Content-Type: multipart/alternative; boundary="------------080201030706020602030101"
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname -
X-AntiAbuse: Original Domain -
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain -
Cc: Server-Initiated HTTP <>, IETF-Discussion <>
Subject: Re: [hybi] Last Call: <draft-ietf-hybi-thewebsocketprotocol-10.txt> (The WebSocket protocol) to Proposed Standard
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 21 Jul 2011 22:15:51 -0000

I think there is some misunderstanding as to what is being proposed, at 
least as I understand it. Iñaki, please correct me if I am wrong.

You are right that it would be impossible to require all environments 
that wanted to add Websockets support, whether client or server, to 
change their DNS to have NAPTR and SRV records. After all, Websockets is 
intended to integrate easily into the already existing HTTP infrastructure.

What is being proposed, though, is to require clients to resolve the 
hostname portion of ws: and wss: URLs by _first_ looking for NAPTR and 
SRV records (unless, of course, the hostname is already an IP address). 
If a NAPTR record is found, use it to look up an SRV record (otherwise 
use a default). If an SRV record is found, use it to look up the A or 
AAAA record. If no SRV record is found, look up the record exactly the 
same as if you were looking up an HTTP host, by using the host name from 
the URL.

So if you have no control over the DNS, it is not a problem. The host 
will be resolved exactly the same way as it is now, using a hosts file 
or A record or whatever. The only change is that the client is required 
to try to use the more advanced mechanism if it is available.

I admit that I find it a little troubling to use MUST for the client to 
follow this procedure as there is a burden on implementers to understand 
how to code this since it isn't done by default in the standard 
libraries the way that ordinary name resolution is. Making it the 
recognized best practice with a SHOULD would be preferable all else 
being equal.

It can be argued that not using a MUST may well open up interoperability 
problems because some Websockets clients contact the wrong host. 
However, keep in mind that in the older SIP RFC2543 it provided two 
resolution mechanisms. It specified that clients SHOULD look up address 
records, but MAY use the DNS SRV mechanism. SIP survived that without 
too much of a hassle. And specifying that Websockets clients SHOULD use 
DNS SRV, but MAY use address records alone looks like an improvement.

As for where the enhanced location definition should live, I think a 
separate document is the best choice. No need to hold up this one.

On 21/07/2011 11:01 AM, David Endicott wrote:
> I am strongly opposed to any MUST definition for any type of URL 
> resolution.
> I'm ok with inheriting / mimicking HTTP.    Since it is intended to 
> live in the same universe as HTTP, I'm ok with it sharing mechanisms / 
> limitations.
> On Thu, Jul 21, 2011 at 1:52 PM, Iñaki Baz Castillo < 
> <>> wrote:
>     2011/7/21 Dave Cridland <
>     <>>:
>     > It's proven impossible, despite effort, to retrofit SRV onto
>     HTTP; there is
>     > no way it'll be possible to retrofit onto WS.
>     Right. If WS borns with no SRV (as a MUST for WS clients) then just
>     forget it and let inherit all the ugly limitations from HTTP protocol.
>     --
>     Iñaki Baz Castillo
>     < <>>
> _______________________________________________
> hybi mailing list