Re: Last Call: <draft-ietf-httpbis-http2-16.txt> (Hypertext Transfer Protocol version 2) to Proposed Standard

Eliot Lear <> Sat, 03 January 2015 12:09 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 792261A1A40 for <>; Sat, 3 Jan 2015 04:09:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id umaPMp10cQ-B for <>; Sat, 3 Jan 2015 04:09:43 -0800 (PST)
Received: from ( []) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 4D67A1A89FE for <>; Sat, 3 Jan 2015 04:09:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=4103; q=dns/txt; s=iport; t=1420286982; x=1421496582; h=message-id:date:from:mime-version:to:subject:references: in-reply-to; bh=RRuaZpYgg/INabojNhpHqOMuTYlKy6WHnpw9oa6HD4U=; b=gXKtvVkJ8WBpFXXkfK7oi46BO/EDAveHXcX5S3QKNna8KiAyd6UxibM+ 81aMSdywpKR4fkfY0bOACDIOBIne2DebEb9VBxjtuoO/XTpkBaQOcwD2E WM/mP7s569la8zHUWFGYJsvw5s+tGJjN9XfKuvRgGJmMYqLKp9pKeCEbh 0=;
X-Files: signature.asc : 486
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.07,690,1413244800"; d="asc'?scan'208";a="298109328"
Received: from (HELO ([]) by with ESMTP; 03 Jan 2015 12:09:39 +0000
Received: from [] ([]) by (8.14.5/8.14.5) with ESMTP id t03C9csk014825; Sat, 3 Jan 2015 12:09:38 GMT
Message-ID: <>
Date: Sat, 03 Jan 2015 13:09:32 +0100
From: Eliot Lear <>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Delan Azabani <>,
Subject: Re: Last Call: <draft-ietf-httpbis-http2-16.txt> (Hypertext Transfer Protocol version 2) to Proposed Standard
References: <>
In-Reply-To: <>
Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="2qUSQxf5u2r0S1NHS56dEnS7srnnQr0kB"
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 03 Jan 2015 12:09:48 -0000

Hi Delan,

We have had a fair amount of discussions about this, and I would say
that perhaps very few people would disagree with what you wrote below. 
However, an additional level of indirection in the SRV record can come
at a cost, which is additional latency, and perhaps a lot of additional
latency on first use, and it depends on a lot of factors, like RR TTLs
on both the SRV record itself and the A record that is returned as part
of RDATA, and whether or not that record itself requires multiple
queries to satisfy.  And so we examined not one, but several new
different RRs to address those concerns, but in the end, people want to
get on with getting out the door what is in the document now.


On 1/2/15 9:29 AM, Delan Azabani wrote:
> I'm not sure if it's appropriate for a random netizen like myself to
> contribute to these comments, so my apologies in advance if it isn't.
> Please consider supporting SRV resource records.
> HTTP is simultaneously important enough that one can't simply run a
> single server for any popular application, but not so important that it
> deserves to necessarily be the A/AAAA record for every hostname.
> SRV makes service discovery more flexible than even MX records by:
>   * Decoupling the default use of TCP port 80 for HTTP, allowing hosts
>     to run multiple distinct HTTP servers without needing a reverse
>     proxy or requiring users to explicitly override the port;
>   * Allowing server administrators to create a tiered and weighted form
>     of load balancing by using the record's Priority and Weight fields,
>     again without shifting the point of failure to reverse proxies; and
>   * Making it easier to transparently and scalably host services for
>     multiple protocols on a single apex domain name.
> Although the Target field of a SRV RR is a domain name, not an IPv6 or
> IPv4 address, the resolution delay before a TCP connection is initiated
> is unlikely to increase significantly because:
>   * To reduce the need for multiple queries, "Implementors are urged,
>     but not required, to return the address record(s) in the Additional
>     Data section." [RFC 2782 page 4]
>   * Like the record types PTR, MX and CNAME, "Domain names in RRs which
>     point at another name should always point at the primary name and
>     not the alias. This avoids extra indirections in accessing
>     information." [RFC 1034 § 3.6.2]
> To further avoid the complexity and inefficiency of multiple queries,
> 'only the service name "http" should be used' when SRV records are
> used, not the synonyms "www" or "www-http". [RFC 6335 § 5]
> LDAP, SIP, XMPP and Kerberos are successful examples of protocols which
> rely on SRV resource records for service discovery.
> For these benefits to be realised however, HTTP/2 should explicitly opt
> into support for SRV records, because "Service SRV records SHOULD NOT
> be used in the absence of" an indication in the protocol specification
> that clients should use SRV records for discovery. [RFC 2782 page 2]