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

Willy Tarreau <> Thu, 21 July 2011 16:39 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C094F21F8A55; Thu, 21 Jul 2011 09:39:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -5.534
X-Spam-Status: No, score=-5.534 tagged_above=-999 required=5 tests=[AWL=-3.791, 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 nuqn+XXjkC52; Thu, 21 Jul 2011 09:39:21 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 85A8521F8A30; Thu, 21 Jul 2011 09:39:20 -0700 (PDT)
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id p6LGdAtf016954; Thu, 21 Jul 2011 18:39:10 +0200
Date: Thu, 21 Jul 2011 18:39:10 +0200
From: Willy Tarreau <>
To: =?iso-8859-1?Q?I=F1aki?= Baz Castillo <>
Message-ID: <>
References: <> <> <9031.1311082001.631622@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: Thu, 21 Jul 2011 16:39:21 -0000

On Thu, Jul 21, 2011 at 06:27:49PM +0200, Iñaki Baz Castillo wrote:
> 2011/7/21 David Endicott <>om>:
> > DNS resolution is not a function of a transport protocol.  DNS SRV has no
> > special association with WS.    It is my opinion that this would be
> > additional cruft that is only marginally related to the purpose and function
> > of websockets.    It does not address a general use case.   DNS SRV applies
> > only to a (small?) subset of server-side implementations.    It is a good
> > and useful mechanism, but I do not believe it should be tied tightly to
> > websockets, nor included as part of the core spec.
> An WebSocket URI is given to a WebSocket client, and the client MUST
> locate the corresponding WS server, right? and for locating the server
> the client MUST follows a procedures which, for now, involve (if it's
> not an IP) DNS A/AAAA resolution, right? So now imagine that the
> location mechanism is a bit more powerful and also involves SRV
> queries (not always).
> If you think that a transport protocol (like WebSocket) must not
> resolve a server destination then also remove the WS URI inspection
> and resolution from the core spec, don't you agree? or just DNS A/AAA
> is valid?
> I don't agree with your opinion at all. Regards.


I understand the point David is making. DNS is something independant of
WS and conversely. It is one way of resolving addresses, just like there
will be people using hosts files. At no place the protocol specification
dictates how a client should resolve a name to an IP address. The protocol
specifies the transport part only.

This is the same for other protocols. For instance, neither FTP nor HTTP
explain how a client is supposed to resolve a host name, still the later
explains how to parse a URI. DNS SRV is a DNS extension which only concerns
resolvers. Not all clients will be using resolvers, just a part of them.
Some others will simply forward the request to their HTTP proxy which will
apply whatever DNS resolving method they know, including possibly DNS SRV.

In practice, if there are new elements of DNS SRV that are specific to WS,
they should probably be added to the DNS SRV spec and not the WS spec.
Maybe the WS spec should mention that it addresses transport only and
not address resolving. It may recommend to follow some principles to
perform the resolving but should not specify how to do it.

Hoping it's a bit clearer,