Re: [Webpush] Delivery receipt may be sent before AS request delivery
Idel Pivnitskiy <idel.pivnitskiy@gmail.com> Thu, 09 June 2016 02:12 UTC
Return-Path: <idel.pivnitskiy@gmail.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id D52FE12D10D
for <webpush@ietfa.amsl.com>; Wed, 8 Jun 2016 19:12:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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,
RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001]
autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
header.d=gmail.com
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 enkSHzdZqttu for <webpush@ietfa.amsl.com>;
Wed, 8 Jun 2016 19:12:48 -0700 (PDT)
Received: from mail-io0-x22d.google.com (mail-io0-x22d.google.com
[IPv6:2607:f8b0:4001:c06::22d])
(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 8365712B065
for <webpush@ietf.org>; Wed, 8 Jun 2016 19:12:48 -0700 (PDT)
Received: by mail-io0-x22d.google.com with SMTP id m62so26115322iof.0
for <webpush@ietf.org>; Wed, 08 Jun 2016 19:12:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:from:date:message-id:subject:to
:cc; bh=otASm8BabHrHEKwHW1/4wJi34gA5t0x7+GX37p/a9zY=;
b=EIT4vrschgSQbcpy5d7NGKzkpeaUeKCvMKzn/aandXywGU2iyNUUoViJSs+qaBZj+3
8L79LkyW/iFryRvcmYRdip9n3hNtei9hjD39dtoCVx63dMvMA6lE2u8tzx+1dBkRSUY7
pACsYi8spB5Kq9frZ0IPjA6sopWe3Hx838++V3jiuT4Hi662klXtcCKRxTXIaQjuTQNj
m2Ds3IsZiied8XNQnQg8p1Np8Y9K4FbB/O9cWBvb2lW8eFr4JNTMws4L2sRUTWoI7L53
kC/z06Vz3C2TiIfc9RbwbwOzf+wv79o3e1BGzcGXn/lTWfsPcTSLwdueAhAylo0qTiy8
zV4g==
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:from:date
:message-id:subject:to:cc;
bh=otASm8BabHrHEKwHW1/4wJi34gA5t0x7+GX37p/a9zY=;
b=k6UW7Pnox3UlJw6ibjWyK0uwq8xh5cRc2dfqSRpKgAck7vZfoNKj8lLfryNIqC2dTa
Q2BzNjvz7JY6rpcaJnlXOqUdXUELNUcEroXhmk8YiVFrcC6zgELmRZOO0cpzkzek64ij
vWv2AawJ6K3yMpOmumX3wWFylopPTYMdMukXSgSKEUZPf/VK9J/LSjwi3KP3f/3q9p/4
LzPOQ7WrEwVdROsnjgmOUi5gGaM3ayU9T1mjpaZ7Nao2PLS4LXGiAP32bOADaAhCPBbu
5aGT1qAdabh9gQLzN1BrwfR3cYSaUHEQXu4pVddZgq+0khz0rJT1OzzoSrNpJ+uyZ06i
MpjA==
X-Gm-Message-State: ALyK8tLapowJpNkb06WbgO88Ugeg9NzCw+OzwpPOUDPm+nZvNI1QxmpvRs/P8mORSGhAjtcq6KTx3L33U9hrmA==
X-Received: by 10.107.148.143 with SMTP id w137mr13126889iod.63.1465438367533;
Wed, 08 Jun 2016 19:12:47 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.36.152.131 with HTTP; Wed, 8 Jun 2016 19:12:08 -0700 (PDT)
In-Reply-To: <CABkgnnU3cUyo1=6qNPbD3QtPL_qDzqiFHG72zxmENL2fx9mnQw@mail.gmail.com>
References: <CAN+BUJrTzyUJBVbfv7ftUfNDkUsiAWu_5bLAw6k+9ZgKcPUS6g@mail.gmail.com>
<CABkgnnU3cUyo1=6qNPbD3QtPL_qDzqiFHG72zxmENL2fx9mnQw@mail.gmail.com>
From: Idel Pivnitskiy <idel.pivnitskiy@gmail.com>
Date: Thu, 9 Jun 2016 05:12:08 +0300
Message-ID: <CAN+BUJo31xxPFPXfaJsY5Yz10X7-xX7WZmFyfoX+znWTbEdHfA@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Content-Type: multipart/alternative; boundary=001a113fd4865690a90534cef577
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/Rj8GCajSdO9TDxLitKttb2qmwig>
Cc: "webpush@ietf.org" <webpush@ietf.org>
Subject: Re: [Webpush] Delivery receipt may be sent before AS request delivery
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.17
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: Thu, 09 Jun 2016 02:12:51 -0000
I implemented the design which describes as "Before" in this presentation [1] last year. And I agree that interaction of UA in this process is inconvenient. It should be something like this [2], but instead of using token-URI like /receipts/xjTG79I3VuptNWS0DsFu4ihT97aE6UQJ, introduce something more simple, like: POST /subscribe-for-receipt HTTP/1.1 Host: push.example.net Benefits: 1. subscription may be created and receiving Push Message Receipts may be requested before sending a new push message => no delivery receipts will be lost; 2. no need to send a push message to get receipt subscription resource; 3. easy receipt subscription management and receiving receipts (AS may have a separate thread or service for this purpose); 4. simplifying registration of a new push message on PS side: just one new object will be created (a push message), no need to think about management of receipt subscriptions (what it needs to do? return the same receipt subscription or a new one). Even if the 1st issue is not a big deal, because we may increase TTL value, the 4th will simplify a PS and the 3rd will be more appropriate for an AS. I'm also a little bit confused, when reading the draft and see the same sentence, but with different status codes: - Section 5: A 201 (Created) response indicates that the push message was accepted. - Section 5.1: A 202 (Accepted) response indicates that the push message was accepted. - Section 5.4: A 201 (Created) response indicates that the push message replacement was accepted. What will be for replacing Push Message with requesting delivery receipt: "A 202 (Accepted) response indicates that the push message replacement was accepted"? Another advantage: just one status code will be returned when AS requests Push Message delivery. [1] https://www.ietf.org/proceedings/95/slides/slides-95-webpush-1.pdf [2] https://tools.ietf.org/html/draft-ietf-webpush-protocol-04#section-5 Best regards, Idel Pivnitskiy -- Twitter: @idelpivnitskiy <https://twitter.com/idelpivnitskiy> GitHub: @idelpivnitskiy <https://github.com/idelpivnitskiy> On Thu, Jun 9, 2016 at 4:06 AM, Martin Thomson <martin.thomson@gmail.com> wrote: > For context: > > > Here may be a problem with push messages with a little value of TTL. > Message may be sent to a UA and ack may be received from the UA before the > AS will send a HTTP GET request to the receipt subscription resource. PS > will retry delivering of receipt, but TTL may expire before this. > > > > To eliminate this problem it would be better to introduce separate > resource for an AS: something like /subscribe for a UA, where AS may create > a receipt subscription. > > We originally had the design you describe, but @brianraymor proposed a > simpler design that accomplishes the same goals, providing that you > recognize that a TTL shorter than the time it takes to poll the > receipt subscription resource can result in losing the receipt. > > The only good solution to this general problem is to have a longer TTL. > > Even if you fix the "bug" you identified, a short TTL can expire > between the time that the message is delivered to the user agent and > before the acknowledgment can reach the push service. > > > On 9 June 2016 at 09:07, Idel Pivnitskiy <idel.pivnitskiy@gmail.com> > wrote: > > Found out a problem with lost of delivery receipts for push messages with > > little TTL, an issue was created: > > > > https://github.com/webpush-wg/webpush-protocol/issues/115 > > > > Best regards, > > Idel Pivnitskiy > > -- > > Twitter: @idelpivnitskiy > > GitHub: @idelpivnitskiy > > > > _______________________________________________ > > Webpush mailing list > > Webpush@ietf.org > > https://www.ietf.org/mailman/listinfo/webpush > > >
- Re: [Webpush] Delivery receipt may be sent before… Idel Pivnitskiy
- Re: [Webpush] Delivery receipt may be sent before… Martin Thomson
- [Webpush] Delivery receipt may be sent before AS … Idel Pivnitskiy
- Re: [Webpush] Delivery receipt may be sent before… Brian Raymor