Re: [Webpush] Non-blocking comments on -05

RUELLAN Herve <Herve.Ruellan@crf.canon.fr> Wed, 01 June 2016 11:46 UTC

Return-Path: <Herve.Ruellan@crf.canon.fr>
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 831F612D0F3 for <webpush@ietfa.amsl.com>; Wed, 1 Jun 2016 04:46:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.326
X-Spam-Level:
X-Spam-Status: No, score=-3.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.426] autolearn=ham autolearn_force=no
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 WTealJcdKq4R for <webpush@ietfa.amsl.com>; Wed, 1 Jun 2016 04:46:19 -0700 (PDT)
Received: from inari-msr.crf.canon.fr (inari-msr.crf.canon.fr [194.2.158.67]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3C10412B041 for <webpush@ietf.org>; Wed, 1 Jun 2016 04:46:18 -0700 (PDT)
Received: from mir-msr.corp.crf.canon.fr (mir-msr.corp.crf.canon.fr [172.19.77.98]) by inari-msr.crf.canon.fr (8.13.8/8.13.8) with ESMTP id u51BkG7u006662 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Jun 2016 13:46:16 +0200
Received: from Antiope.crf.canon.fr (antiope.fesl2.crf.canon.fr [172.19.70.56]) by mir-msr.corp.crf.canon.fr (8.13.8/8.13.8) with ESMTP id u51BkGnf031250; Wed, 1 Jun 2016 13:46:16 +0200
Received: from Antiope.crf.canon.fr (172.19.70.62) by Antiope.crf.canon.fr (172.19.70.62) with Microsoft SMTP Server (TLS) id 15.0.995.29; Wed, 1 Jun 2016 13:46:15 +0200
Received: from Antiope.crf.canon.fr ([fe80::5c25:f890:ae73:d15a]) by Antiope.crf.canon.fr ([fe80::5c25:f890:ae73:d15a%12]) with mapi id 15.00.0995.032; Wed, 1 Jun 2016 13:46:15 +0200
From: RUELLAN Herve <Herve.Ruellan@crf.canon.fr>
To: Peter Beverloo <beverloo@google.com>, "webpush@ietf.org" <webpush@ietf.org>
Thread-Topic: [Webpush] Non-blocking comments on -05
Thread-Index: AQHRu3RPtv1gb54CNUWyRYz7Gkh/JZ/UfYOQ
Date: Wed, 1 Jun 2016 11:46:14 +0000
Message-ID: <6af49c2baf1b4e4f884b812d573b947e@Antiope.crf.canon.fr>
References: <CALt3x6=_yc9TegOut_g+6W5fvhP7sfW+_gwRZnEVFA5PNgER6Q@mail.gmail.com>
In-Reply-To: <CALt3x6=_yc9TegOut_g+6W5fvhP7sfW+_gwRZnEVFA5PNgER6Q@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [172.20.5.242]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/ir8IzSShqHADuTW9uCiihoqnmOE>
Subject: Re: [Webpush] Non-blocking comments on -05
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: Wed, 01 Jun 2016 11:46:21 -0000

Hello everyone,

I also have some comments on the spec, none of which are blocking for the WGLC.

I also generated a pull-request for editorial things:
https://github.com/webpush-wg/webpush-protocol/pull/93

And another one for changing the URIs used in the examples and making them more explicit (which I think is helpful for a first-time reader of the spec):
https://github.com/webpush-wg/webpush-protocol/pull/94


1. Some of the URNs used may be confusing. Renaming them could help make things clearer.

The push message subscription set URN, "urn:ietf:params:push:set", could be changed to "urn:ietf:params:push:sub:set", to better show it is related to push message subscription resources and not directly to push resources.

The receipt subscription URN, "urn:ietf:params:push:receipt", could be changed to "urn:ietf:param:push:receipt:sub", to better show it corresponds to a receipt *subscription* resource and not to a receipt resource (even if these don't exist).


2. What does a push server that receives a request for a push message with "Prefer: respond-async" but doesn't want to provide a receipt subscription, or doesn't support providing receipts? Is this allowed in the first place?


3. Adds in 5.1 a paragraph similar to the third one of 4.1 (containing some modifications from my editorial pull-request):

An application server MAY omit the receipt subscription if it is unable to receive receipts in an aggregated way for the lifetime of the push messages. This might be necessary if the application server is forwarding push messages from other servers.


4. In 5.4, replace:

A 201 (Created) response indicates...

with:

A 201 (Created) response or a 202 (Accepted) response indicates...


5. In 6, in the last paragraph (and similarly in 6.1), replace:

A 204 (No Content) status code with no associated server pushes...

with:

A 204 (No Content) status code sent in response to the initial request with no associated server pushes...


6. In 6.1, maybe emphasize the difference on the location of the link header (PUSH_PROMISE vs response) and give some reason for this difference.


7. In 6.3, what is the status code for a message not successfully delivered at its expiration time?


8. The draft is not clear on how GET to subscription resources (or subscription set) are handled. It is stated that the push service does not respond to this request. However the last paragraph of 6 tells about using a 204 (No Content) status code when no messages are available, and this is stated again by paragraph 4 of 7.2. Is it only for the case when "Prefer: wait=0" header field is used? Or can the push server use it to close the connection?


9. In 7.5, add a paragraph for the client proxying scenario:

It should be noted that some user agent might need to use several subscription sets if they are forwarding subscription requests from other servers.



Thanks for all the work on the spec,

Hervé