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

Willy Tarreau <> Fri, 22 July 2011 05:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 10B1221F869E; Thu, 21 Jul 2011 22:43:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -5.279
X-Spam-Status: No, score=-5.279 tagged_above=-999 required=5 tests=[AWL=-3.536, BAYES_00=-2.599, HELO_IS_SMALL6=0.556, MIME_8BIT_HEADER=0.3]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id jS9WjeMI4+2d; Thu, 21 Jul 2011 22:43:58 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 3706721F866A; Thu, 21 Jul 2011 22:43:57 -0700 (PDT)
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id p6M5hjQ1019378; Fri, 22 Jul 2011 07:43:45 +0200
Date: Fri, 22 Jul 2011 07:43:45 +0200
From: Willy Tarreau <>
To: =?iso-8859-1?Q?I=F1aki?= Baz Castillo <>
Message-ID: <>
References: <> <> <> <> <> <9031.1311270000.588511@puncture> <> <> <> <>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <>
User-Agent: Mutt/
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: Fri, 22 Jul 2011 05:43:59 -0000

On Fri, Jul 22, 2011 at 01:22:15AM +0200, Iñaki Baz Castillo wrote:
> Well, in SIP there are NAPTR records because SIP can work over
> different transports (UDP, TCP, TLS-TCP. SCTP, TLS-SCTP). In case of
> WebSocket, it just defined for TCP so NAPTR records don't make sense.
> So just SRV is required:
> a)  _ws._tcp.DOMAIN.COM    for WS URI
> b)  _wss._tcp.DOMAIN.COM   for WSS URI

Iñaki, what we're saying is that the resolving applies first to HTTP
well before it is WS. For instance, a client could connect to an HTTP
server, fetch a few objects, then decide to upgrade the connection to
switch to WebSocket. DNS resolving for WS would not even be involved

I agree with what others have been saying : if/when a different handshake
is supported, eg. on a specific port without the HTTP upgrade, then it
will make sense. But as of now we're relying on the lower layer. As Greg
said it, without a deep change in HTTP you won't be able to make the rule
a MUST for WS. However, John's suggest of using a SHOULD when the record
exists and the client can see it looks fine. What's the problem if not all
of your clients go to the same hosts ? You can even announce all of your
servers with A/AAAA and with SRV as well as long as they're running on the
same ports. Those who can use SRV just have more information than the other
ones and can be served better.