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

Iñaki Baz Castillo <> Wed, 27 July 2011 10:46 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 318B521F8B11; Wed, 27 Jul 2011 03:46:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.647
X-Spam-Status: No, score=-2.647 tagged_above=-999 required=5 tests=[AWL=0.030, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 1+6qokdm2qMO; Wed, 27 Jul 2011 03:46:29 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 31BDB21F8B10; Wed, 27 Jul 2011 03:46:29 -0700 (PDT)
Received: by qwc23 with SMTP id 23so968325qwc.31 for <multiple recipients>; Wed, 27 Jul 2011 03:46:28 -0700 (PDT)
MIME-Version: 1.0
Received: by with SMTP id 8mr4190185qcd.215.1311763588455; Wed, 27 Jul 2011 03:46:28 -0700 (PDT)
Received: by with HTTP; Wed, 27 Jul 2011 03:46:28 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <> <> <9031.1311538720.416128@puncture> <> <> <> <> <>
Date: Wed, 27 Jul 2011 12:46:28 +0200
Message-ID: <>
From: =?UTF-8?Q?I=C3=B1aki_Baz_Castillo?= <>
To: Willy Tarreau <>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
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: Wed, 27 Jul 2011 10:46:30 -0000

2011/7/27 Willy Tarreau <>eu>:
> That's where I think you're mistaken. As long as you think of it as mandatory
> this will not be possible.

Hi Willy, as I've explained several times in these threads, if a WS
client is not mandated to perform SRV given a WS URI domain, then the
service provider cannot rely on SRV records. This is, let's assume
that a WS service provider offers a WS URI like "ws://",
with these records (simplifying):

- SRV:,,
- A:

So assuming that SRV is optional for clients, the provider does not
know how many clients would use SRV or just A. Imagine the service
provider expects millons of concurrent users. He must be ready to
receive all those users in (if they don't use SRV). So the
service provider must build a complex/expensive balancer system in
server side (BGP and all that stuf) just for the case in which most of
the clients would not perform SRV procedures. So would be in
fact a balancer with N hosts providing the WS service behind it.

At the same time, if clients use SRV then load-balancing and failover
would be automatically provided by the SRV capabilities. No need for
like-BGS solutions in server side.

So the question is: which service provider would spend resources, time
and efforts building two different load-balancing/failover systems?.
If a provider can build the "BGP" solution then it will not need SRV.
And another provider which cannot build a "BGP" solution could not
entirely rely on SRV capabilities as maybe most of the clients would
not use it.

In the other side, if service providers must be ready to accept all
the traffic in the IP resolved via single DNS A query, then nobody
would need SRV and webbrowsers would just remove it (the Mozilla
developer has already said in these threads that he won't implement it
"due to latency reasons").

Also the fact that DNS is not mandated by HTTP neither WS makes things
even worse. In contrast, in XMPP and SIP protocols DNS is mandatory
and also SRV procedures. If you are a SIP provider hosting the service
with domain "" you don't ever need to have a working A
record for, but just SRV (and optionally NAPTR). Or you
could just have A record and not use SRV at all. SIP client procedures
for locating servers (RFC 3263) mandate first trying SRV and then
A/AAAA, so things would work in any case.

So correct me if I'm wrong, but making SRV optional for clients (in
*any* protocol) is not something I consider feasible or useful.


Iñaki Baz Castillo