Re: How to reset ALTSVC

Bence Béky <bnc@chromium.org> Wed, 01 April 2015 12:14 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EFAE61A8712 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 1 Apr 2015 05:14:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.09
X-Spam-Level:
X-Spam-Status: No, score=-6.09 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Cs8vDd9qOZZA for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 1 Apr 2015 05:14:39 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6CF2A1A87C8 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 1 Apr 2015 05:14:37 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1YdHVD-00007p-5Q for ietf-http-wg-dist@listhub.w3.org; Wed, 01 Apr 2015 12:12:11 +0000
Resent-Date: Wed, 01 Apr 2015 12:12:11 +0000
Resent-Message-Id: <E1YdHVD-00007p-5Q@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <bnc@google.com>) id 1YdHVA-00005k-GA for ietf-http-wg@listhub.w3.org; Wed, 01 Apr 2015 12:12:08 +0000
Received: from mail-qc0-f178.google.com ([209.85.216.178]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <bnc@google.com>) id 1YdHV3-0007UV-CQ for ietf-http-wg@w3.org; Wed, 01 Apr 2015 12:12:08 +0000
Received: by qcay5 with SMTP id y5so38532612qca.1 for <ietf-http-wg@w3.org>; Wed, 01 Apr 2015 05:11:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to:cc:content-type; bh=WqSJAQEOSPTYDhqoOUq/iNeXq11gL7OXXh0TP2cGAbo=; b=Ehuu+1L45YPC2WcyYGP2ZYjn3xlaNVS4e6VjlZFYy4bbp8wlPzRdZS88giF2TIFCO2 wywEDri2f3O7gMffJZzZA292bbCs8lHz6IBsgxAT8REoC1CtV0dCCeImQHSVf40gW0pq 6eSdcslBxnXD+CZ9KgJMkpClqBhkeGLL3vA9GHCwffWrJ28vG1yDE7C2QEGEBLA5w9uZ sZRmKlPZHUFDXBSO2mBB1r8PwcMPi1rKPidd1wOPjLGtRaFwmwAe6MKLbfiNRk/FlV8C s3ZBoriL+LB52SFdY1j8FL2kNxOnobmzS3SAd8/nD3zjPYn5+nLp6G4Pj5UyKNwkRoY2 iz3g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:sender:from:date:message-id:subject:to:cc:content-type; bh=WqSJAQEOSPTYDhqoOUq/iNeXq11gL7OXXh0TP2cGAbo=; b=R1iPg6Hjk3YIT7ehqX7Iq4TLsMRFeTbszMBTYa3Fhg4/AR12ja9DTaJbmtyLam++V9 d97DSQnLLwWmBP5S7PDt4IgHiFbq0OSLnMLDK8fTajOxFTKfQvbLeHLDY0VBYdPXwLPh jO2aeiUa7ZDo21ZG49PO/Y4V+ZdcHthLpqTZU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to:cc:content-type; bh=WqSJAQEOSPTYDhqoOUq/iNeXq11gL7OXXh0TP2cGAbo=; b=NV4DtCPkgOWoWpuqdfLCWKkmM0jJP/EH2d6ZWnJAKzbmspvOjbVnF3yA10D89waTG1 0fyT0TcJUoIUROOOlxJ/1JuSwYpLrVVJ8IROvcOPvxPRkmS3zU4eixvxPvLyxASFhoBW KaLwx3w8qA6eY6j/RTzZqBAKvDztrYBJp1RbVxOK4qp5HH8ljcZdR5y1BGtenZALg6Z3 oElGb4pZGzqwb1XfP5tI8RKpqEy1WzWnl6ktZSEdxFkiUz7g50DkePjSiyNYC1xdzslz WeNGCCfGMSAxCnqhUOYmh3twl6YqZNUaRN5BQvof0q6mPr1zZ3TakYtLvH395p7CEnlg 85Pw==
X-Gm-Message-State: ALoCoQnLn+xVPRAaHnWmNyscgiPK1oVXrNMBM4tRbbnWeTU9djsTseBcZtf3C0+LyCaAd2CuzNTP
X-Received: by 10.140.96.105 with SMTP id j96mr50459336qge.81.1427890295184; Wed, 01 Apr 2015 05:11:35 -0700 (PDT)
MIME-Version: 1.0
Sender: bnc@google.com
Received: by 10.229.178.6 with HTTP; Wed, 1 Apr 2015 05:11:14 -0700 (PDT)
From: Bence Béky <bnc@chromium.org>
Date: Wed, 01 Apr 2015 08:11:14 -0400
X-Google-Sender-Auth: xvROYfDmDNeavebG4P-jy_vF52M
Message-ID: <CACMu3tp-+YH2HYx4y8PrW8CQ7fZHB-By5Qg6Wk3hGHAbYCADCg@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Cc: HTTP <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.216.178; envelope-from=bnc@google.com; helo=mail-qc0-f178.google.com
X-W3C-Hub-Spam-Status: No, score=-5.3
X-W3C-Hub-Spam-Report: AWL=-0.543, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1YdHV3-0007UV-CQ b817070f5dec2ccb6a2d3126ecf3125f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: How to reset ALTSVC
Archived-At: <http://www.w3.org/mid/CACMu3tp-+YH2HYx4y8PrW8CQ7fZHB-By5Qg6Wk3hGHAbYCADCg@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/29177
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Hi Martin,

On Tue, Mar 31, 2015 at 6:22 PM, Martin Thomson
<martin.thomson@gmail.com> wrote:
> You could send a redirect-to-self value without changing the grammar
> too.  Or you could set the max-age to 0.  Or both.

I do agree with you that either of these could be agreed on as valid
ways to reset alternative services.  I don't particularily like them
from an implementation viewpoint.  The seft-redirect because if your
client implementation does not specifically prepare for this case, it
might end up racing two connections to the same server.  The second
option because if your client implementation does not specifically
prepare for this, it might treat the header as invalid if the max-age
is 0, or use its preferred default like one day, depending on the mood
of the implementer.  RFC 7234 Section 4.2.3 says about age that it's
"0, if not available", but this usage is not "not available", but
"special meaning: this is a valid alternative service with is a
placeholder for null alternative service".

I would not be terribly unhappy if concensus was to use one of these
hacks, but given these caveats, I believe it would still be necessary
to explicitly spell out this use in the specification.

I think the simplest way to say "the alternative services for this
origin is the following list: {empty list}" is to say "{empty list}"
instead of "{one item identical to origin, which is understood to have
the special meaning that it's an empty list}" or "{one item with valid
but arbitrary port and a special, otherwise unused value for ma, which
is understood to have the special meaning that it's an empty list}".

And what if the header or frame contains two alternative services, one
of them the special value (identical to origin or having ma=0), the
other a valid alternative?  The empty list placeholder value is
ignored and makes previously discovered alternative services cleared,
but should the other alternative service one be dropped on the floor
or added to the list?  Or does it depend on the order?  Undefined?

Thanks,

Bence