[Webpush] status code for messages dropped before TTL expiration

Darshak Thakore <d.thakore@cablelabs.com> Wed, 11 November 2015 20:26 UTC

Return-Path: <d.thakore@cablelabs.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com []) by ietfa.amsl.com (Postfix) with ESMTP id 55CAA1A1B64 for <webpush@ietfa.amsl.com>; Wed, 11 Nov 2015 12:26:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.227
X-Spam-Status: No, score=0.227 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_MODEMCABLE=0.768, HOST_EQ_MODEMCABLE=1.368, HTML_MESSAGE=0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id AuSIHrjnwJud for <webpush@ietfa.amsl.com>; Wed, 11 Nov 2015 12:26:50 -0800 (PST)
Received: from ondar.cablelabs.com (ondar.cablelabs.com []) by ietfa.amsl.com (Postfix) with ESMTP id C0ED21A1B61 for <webpush@ietf.org>; Wed, 11 Nov 2015 12:26:50 -0800 (PST)
Received: from kyzyl.cablelabs.com (kyzyl []) by ondar.cablelabs.com (8.14.7/8.14.7) with ESMTP id tABKQoQm000735 for <webpush@ietf.org>; Wed, 11 Nov 2015 13:26:50 -0700
Received: from exchange.cablelabs.com ( by kyzyl.cablelabs.com (F-Secure/fsigk_smtp/407/kyzyl.cablelabs.com); Wed, 11 Nov 2015 13:26:49 -0700 (MST)
X-Virus-Status: clean(F-Secure/fsigk_smtp/407/kyzyl.cablelabs.com)
Received: from EXCHANGE.cablelabs.com ([::1]) by EXCHANGE.cablelabs.com ([::1]) with mapi id 14.03.0224.002; Wed, 11 Nov 2015 13:26:47 -0700
From: Darshak Thakore <d.thakore@cablelabs.com>
To: "webpush@ietf.org" <webpush@ietf.org>
Thread-Topic: status code for messages dropped before TTL expiration
Thread-Index: AQHRHI4Tneheu7lS5k62ROaDbLSZfA==
Date: Wed, 11 Nov 2015 20:26:46 +0000
Message-ID: <D2689DC3.5815%d.thakore@cablelabs.com>
Accept-Language: en-US
Content-Language: en-US
user-agent: Microsoft-MacOutlook/
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_D2689DC35815dthakorecablelabscom_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/W57IZwFbKQMJvw2JwqdyfnyK-5I>
Subject: [Webpush] status code for messages dropped before TTL expiration
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: Wed, 11 Nov 2015 20:26:52 -0000

Hi all,

During the meeting (on Nov 3rd), we had an outstanding question about specifying an appropriate HTTP status code (either a 4XX or 5XX) for situations where a push server ceases to attempt delivery prior to the advertised TTL.

Here are couple of ideas to consider (and get the discussion going :)

  1.  Currently there is a 417 Expectation Failed status code already defined that works in conjunction with the “Expect” header. Maybe we can define an “expectation” for the TTL and send it in the Expect header. Then if the push server drops the message prematurely, it can send back a 417. (However there seems to be some history behind the Expect header which may be an issue)
  2.  Another option is to use the “Prefer” header (where the TTL would be a preference) and then define a new 5xx "Preference Not Honored” kind of status code that can be used in a generic way. (However Martin did point out that preferences are a soft fail so having a preference not being applied may not be an appropriate reason for a server to send back an error code)
  3.  Alternately we can define a new header (and carry the TTL as one of the tokens in the header) and a corresponding status code (preferably a 5XX code) that is in the same vein as the Expect header with the 417 code.