Re: [Webpush] 202 (Accepted) and simplifying acknowledgements
Costin Manolache <costin@gmail.com> Fri, 19 February 2016 22:22 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 0B0881B317F
for <webpush@ietfa.amsl.com>; Fri, 19 Feb 2016 14:22:45 -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 4r10R3himeky for <webpush@ietfa.amsl.com>;
Fri, 19 Feb 2016 14:22:42 -0800 (PST)
Received: from mail-oi0-x234.google.com (mail-oi0-x234.google.com
[IPv6:2607:f8b0:4003:c06::234])
(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 917BD1B2EDA
for <webpush@ietf.org>; Fri, 19 Feb 2016 14:22:42 -0800 (PST)
Received: by mail-oi0-x234.google.com with SMTP id m82so21778490oif.1
for <webpush@ietf.org>; Fri, 19 Feb 2016 14:22:42 -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=TWHtJsCepY9F+CGvGRp+SnAphjczM7Hj3l/zlTuNh9A=;
b=gPMPmlR8TD24cuftSypSfAr/y90UH5xjK1FdClaE9LJ7C2oj0G+TXBF/Y0JxLmesPb
0UOFLlEfpptjlXex9pNjR94slTFdPkXqpvs4GjNzkQT8FlmSlta+FPL6IdGf2Pu7NdNf
V+I9TqpEOHAOmwSRxKzpMPpjkKc5T1tmmO0suApoDQ9dGX2Z/KllkgD530WH1SibYzy0
M1gIhKxe4f0spyZYaHRZkfTteAu2kR0hL94uTKDLlMguH9cSjGFZooTka5piJ3t5PQGu
Gq7c88nmW8Vn/0Pu3QHp8TYc0cWXWbFNeiGGn/4hVVwfxLDxKRuABu5+N9No53DKapB1
lFGA==
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=TWHtJsCepY9F+CGvGRp+SnAphjczM7Hj3l/zlTuNh9A=;
b=PiY1LyKGX+UJPo4SchrBp41MUHNX4ZGggZB8AxwNGeL+SSvuVbQwK3ejXUuxw8rEbz
0GMckm9dve+pk21XenBnoBGtFAh6ucmwpgDZUAoDW+yETvB6jGRFGtosaJpN8IiSR62W
vmd/LiFghfWQ8RulyB6rslcLW0LVK850pRUcMRliV3YemqsZ+UmI58gLdpc1esAn4T+A
KfhbMbhhO6FS0vxvjrFUrJkrFRQAdly8zggL9bvRz1ItVfX1LpU8B7p53PZNlCtN3DTp
j3xmNU33C51RzJgSCtHjSLuP6Zqx3bdnVj4TBX/DEFMmTma7erS6ywjdFZE+cudH8XZa
lRGg==
X-Gm-Message-State: AG10YOS4RkA9N5ai5zTimt2CPI6LhXAz3oP8HtzyNKQ0yuMNZ4ZW2+IBjK5t96Zc6EtD/4nv4RwsYk+vmcIVlQ==
MIME-Version: 1.0
X-Received: by 10.202.102.69 with SMTP id a66mr13282601oic.93.1455920561999;
Fri, 19 Feb 2016 14:22:41 -0800 (PST)
Received: by 10.76.75.35 with HTTP; Fri, 19 Feb 2016 14:22:41 -0800 (PST)
In-Reply-To: <BY2PR0301MB06475638E9DE5D87782E71C783A00@BY2PR0301MB0647.namprd03.prod.outlook.com>
References: <BY2PR0301MB06475638E9DE5D87782E71C783A00@BY2PR0301MB0647.namprd03.prod.outlook.com>
Date: Fri, 19 Feb 2016 14:22:41 -0800
Message-ID: <CAP8-Fq=WfSmD8+4sKsB5RJVLKt-ht9HNz9AgkmqdJkBOoKJKkQ@mail.gmail.com>
From: Costin Manolache <costin@gmail.com>
To: Brian Raymor <Brian.Raymor@microsoft.com>
Content-Type: multipart/alternative; boundary=001a1140f400eb54a0052c26eb8d
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/X97zzFOJSj5UiXMMiwzZVGSkfRs>
Cc: "webpush@ietf.org" <webpush@ietf.org>
Subject: Re: [Webpush] 202 (Accepted) and simplifying acknowledgements
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: Fri, 19 Feb 2016 22:22:45 -0000
Sounds good. The optional "push:receipt" is very important for everyone, and we should add some info about the additional costs of requesting a receipt. At least in some implementation the push receipts can be more expensive than the actual messages, and in most cases the UA will make some http requests to the AS - so the ACK is redundant. I assume the rest of the receipt will be the same: AS will connect to the URL, make a GET and get push promises, like in the case of UA getting messages ? Costin On Fri, Feb 19, 2016 at 12:26 PM, Brian Raymor <Brian.Raymor@microsoft.com> wrote: > > I've thought a bit more about the 202 discussion with Ben, Costin, and > Martin. I have a small proposal that I've run past Martin and Elio for a > sanity check. > > Currently - when an application server requests push message delivery, > there are separate flows for message creation and message delivery: > > 1. Message Creation - The push service returns a 201 (Created) returned by > the POST with a Location resource > 2. Subsequent notification of delivery success or failure using Receipt > Acknowledgements. > > Receipt Acknowledgements also has many moving parts: > > 1. The PS returns :push and :push:receipts to the UA during its message > subscription process. > 2. The UA distributes :push and :push:receipts to its AS. > 3. The AS requests a receipts subscription (:push:receipt) from the PS > using :push:receipts. > 4. The AS requests message delivery from the PS using :push and includes > :push:receipt. > 5. The PS returns a 201 (Created) on success for the message delivery > request from the AS. It also includes a Location. > 6. The AS monitors :push:receipt for success (acknowledgements) or failure > (expiration or delivery attempts ceased). > > A more natural flow could use 202 (Accepted) with the :push:receipt as the > "status monitor". As Costin noted: > > > This is pretty much what webpush is doing - accepts the request, and > some other > > process ( the connection side ) may deliver it later :-) > > 1. The PS returns :push to the UA during its message subscription process. > 2. The UA distributes :push to its AS. > 3. The AS requests message delivery from the PS using :push. > 4. The PS returns a 202 (Accepted) on success for the message delivery > request from the AS. It also includes a Location and :push:receipt as the > "status monitor" suggested for a 202. > 5. The AS monitors :push:receipt for success (acknowledgements) or failure > (expiration or delivery attempts ceased). > > This eliminates the need for the :push:receipts link relation and its > "machinery" and simplifies the flow a bit. > > Another difference is that the current design allows the AS to request > acknowledgements by including :push:receipt with its message delivery > request to the PS. If we want to maintain this optional behavior, then we > would need a header - perhaps reusing Prefer: respond-async as a hint - > http://tools.ietf.org/html/rfc7240#section-4.1 - that would be included > when the AS requests message delivery. > > If a pull request would offer more clarity, please let me know. > > Thoughts? > > ...Brian > > _______________________________________________ > Webpush mailing list > Webpush@ietf.org > https://www.ietf.org/mailman/listinfo/webpush >
- [Webpush] 202 (Accepted) and simplifying acknowle… Brian Raymor
- Re: [Webpush] 202 (Accepted) and simplifying ackn… Costin Manolache
- Re: [Webpush] 202 (Accepted) and simplifying ackn… Martin Thomson
- Re: [Webpush] 202 (Accepted) and simplifying ackn… Brian Raymor
- Re: [Webpush] 202 (Accepted) and simplifying ackn… Brian Raymor
- Re: [Webpush] 202 (Accepted) and simplifying ackn… Costin Manolache
- Re: [Webpush] 202 (Accepted) and simplifying ackn… Martin Thomson