Re: [Webpush] Require the TTL header
Costin Manolache <costin@gmail.com> Sat, 06 February 2016 22:04 UTC
Return-Path: <costin@gmail.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id A895B1B3439
for <webpush@ietfa.amsl.com>; Sat, 6 Feb 2016 14:04:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001,
SPF_PASS=-0.001] 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 NlvEG498FbnD for <webpush@ietfa.amsl.com>;
Sat, 6 Feb 2016 14:04:05 -0800 (PST)
Received: from mail-ob0-x230.google.com (mail-ob0-x230.google.com
[IPv6:2607:f8b0:4003:c01::230])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by ietfa.amsl.com (Postfix) with ESMTPS id 68D9D1B3437
for <webpush@ietf.org>; Sat, 6 Feb 2016 14:04:05 -0800 (PST)
Received: by mail-ob0-x230.google.com with SMTP id is5so116429556obc.0
for <webpush@ietf.org>; Sat, 06 Feb 2016 14:04:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:cc:content-type;
bh=3ncMxXWBPJTn9J+4CPVd3Qq86fewXfXXyV/TZL8bYNQ=;
b=dfZNME72xOUACgRzmzpQ32vHFE5Olqo+yzOuRe1lzrlHU8b4ZxMwXo8J9JJacgt4yn
Bmt9A6U5boQ3OIs48n7wNy8QjaVOtmen4e51ppxbX00brmxp++PjEg6eEceDyWQUKyIQ
22dvXeInYXBSsKnpmjnzMO20RWY5J/uTpt8mIUxhvuAAJ7ydCRdZIIQyh75+IQW38boI
jvzYUIZCZ7RZ+ABu7olwBqj7JFiaKmzKHWvfnBiqGzEVwHiu3XC7Bx6+YjiFmUvbZLdy
8ysDLU0MrqcJB5EpFRV8A+6KycZu50X+AKIN2UKucbocVvQ8HzVtN5bASqLS+f9AJTS1
0qog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20130820;
h=x-gm-message-state:mime-version:in-reply-to:references:date
:message-id:subject:from:to:cc:content-type;
bh=3ncMxXWBPJTn9J+4CPVd3Qq86fewXfXXyV/TZL8bYNQ=;
b=i2CrtT4o9nYlP5N/In3OLG8RMcY8/cA55ySYF6WhoYYlCzXfHJfp6KDkP/zSJqXjRG
MJZCSEvpcrC8VqgWQj6BoLHBTcCqO6boGdCwpU9inyo1hpvvblgWAMCDcXqFgSWU2g4K
VQzgtGnMJsZCkCpKH4jpzLarrqJyC32w4IuQv89Z7nroljYsVyAXxtPXPPdpRhtRvJrc
pFG1tSlrhO1WU+Vr8FQoMNK/4hpSWW9K3olDyheOs4VENs1onUkULRPeQM9S09GmzYqO
dLUs/yhQ5jhpDhr2UG7qDGZLp4XaxzaKoZcX02MDBtew35U93U4XRwCst27N8Ce5D/T3
H+AA==
X-Gm-Message-State: AG10YOSBccWu/VVsboI5JW0o8etA3h29jhcOzetSAcCOjUEXcEkLZfUUrXyzsWMdsyg1sHC6ywVonJFL82prhQ==
MIME-Version: 1.0
X-Received: by 10.60.47.195 with SMTP id f3mr18205494oen.1.1454796244812; Sat,
06 Feb 2016 14:04:04 -0800 (PST)
Received: by 10.76.8.74 with HTTP; Sat, 6 Feb 2016 14:04:04 -0800 (PST)
In-Reply-To: <CABp8EuLkh9VyE2+Bj8Lhi_FvXxX45hT-Tjfd4GewpVqQZ+bW7Q@mail.gmail.com>
References: <CABp8Eu+oBj8XKWbqd9ypT_mQWzMxXDe+cBR_vqk=rJ=6tM3tFA@mail.gmail.com>
<BY2PR0301MB06477C93FA8937F0ABD4393383D20@BY2PR0301MB0647.namprd03.prod.outlook.com>
<CABp8EuJFn+e8ParLY5+SLRVA-_8XgFgp5k8a2W2Ejir35hucxA@mail.gmail.com>
<BY2PR0301MB064705934B6DE1B371E1301D83D20@BY2PR0301MB0647.namprd03.prod.outlook.com>
<CABp8EuJQ_KXSs6Zz-fbhPcrnYymk14tShu4ukATX9GJ9J3PMjQ@mail.gmail.com>
<CAP8-FqnzSukVkkiBv8F19NH-uTdtRM2rXuQyA1Ng52c4KczDTg@mail.gmail.com>
<CABp8EuLkh9VyE2+Bj8Lhi_FvXxX45hT-Tjfd4GewpVqQZ+bW7Q@mail.gmail.com>
Date: Sat, 6 Feb 2016 14:04:04 -0800
Message-ID: <CAP8-Fqkj++qFCteM5zs4BTa=FecqDRbQrKH-_ezFcdTsAo-=_Q@mail.gmail.com>
From: Costin Manolache <costin@gmail.com>
To: Benjamin Bangert <bbangert@mozilla.com>
Content-Type: multipart/alternative; boundary=001a11c3029e648e3a052b2125fe
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/UCQm5OiCLCNUBTZQBanLBJhbwug>
Cc: Brian Raymor <Brian.Raymor@microsoft.com>,
"Martin Thomson \(martin.thomson@gmail.com\)" <martin.thomson@gmail.com>,
"webpush@ietf.org" <webpush@ietf.org>
Subject: Re: [Webpush] Require the TTL header
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussion of potential IETF work on a web push protocol
<webpush.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webpush>,
<mailto:webpush-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webpush/>
List-Post: <mailto:webpush@ietf.org>
List-Help: <mailto:webpush-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webpush>,
<mailto:webpush-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 06 Feb 2016 22:04:07 -0000
On Sat, Feb 6, 2016 at 1:40 PM, Benjamin Bangert <bbangert@mozilla.com> wrote: > On Sat, Feb 6, 2016 at 12:47 PM, Costin Manolache <costin@gmail.com> > wrote: > >> +1 on requiring ttl, and returning a Location even for TTL=0 >> > > I realized on more careful reading that to return a 201, a Location must > accompany it, so our implementation was wrong in this regard. > > However receipt behavior is a bit tricky. The service may 'delete >> immediately' ( which is the same with >> not storing it in the first place ), but the delivery receipts should >> still be returned when the device >> acks. >> >> The push service may believe the device is connected, and call send - but >> in many cases send >> will succeed even if the other end is gone - TCP will do its retry and >> eventually will timeout and >> close the connection, but it takes some time and it's well after send. >> >> I assume 202 (Accepted) would be better for TTL=0 if the service is not >> actually storing the message. >> > > I'd be in favor of that, not sure if there's any relevant privacy > implications from immediately indicating that a user is offline. And as you > note, it still leaves open the possibility of returning a 201 with the > belief the client is connected before it times out on the TCP retries. So > all the 202 indicates in this regard is that the client is definitely not > connected, nor has been recently enough for a stale connection to be > present. > What I meant is: if TTL=0, don't store the message, and return 202 (Accepted) regardless of user status, since no resource is actually created. However in order to return a delivery receipt, it needs to have an identifier. Regarding privacy implication - the delivery receipt has the same characteristics, if you send a message and later get a delivery receipt, it implies the user recently connected, and you can estimate how long he was offline. It's not very precise - at least GCM batches and may delay receipts, I don't think the draft requires immediate delivery of a receipt. In either case - a very useful feature would be to reject a message if user has not been connected for a 'long' time - I think this is covered implicitly by the expiration of the subscription. > > >> GCM ( and I assume other services ) may also optimize small TTLs by not >> persisting - so >> it may make sense to indicate this with 202, and not require in the spec >> that the service is persisting >> all messages. >> > > Yep, we don't store TTL=0 messages at all. > I suspect nobody will, one of the benefits of TTL=0 is that it's likely to be cheaper and faster in most implementations. Costin > > >> Finally, it is very impractical for us to determine if the user agent is >> available at the time of the send >> (replication and cross-DC latency, plus the TCP retries) >> >> Costin >> > > Cheers, > Ben >
- Re: [Webpush] Require the TTL header Costin Manolache
- Re: [Webpush] Require the TTL header Benjamin Bangert
- Re: [Webpush] Require the TTL header Costin Manolache
- [Webpush] Require the TTL header Benjamin Bangert
- Re: [Webpush] Require the TTL header Brian Raymor
- Re: [Webpush] Require the TTL header Martin Thomson
- Re: [Webpush] Require the TTL header Miguel Garcia
- Re: [Webpush] Require the TTL header Brian Raymor
- Re: [Webpush] Require the TTL header Benjamin Bangert
- Re: [Webpush] Require the TTL header Benjamin Bangert
- Re: [Webpush] Require the TTL header Brian Raymor
- Re: [Webpush] Require the TTL header Martin Thomson
- Re: [Webpush] Require the TTL header Costin Manolache
- Re: [Webpush] Require the TTL header Brian Raymor