[Webpush] Proposed 5xx status code for WebPush
Brian Raymor <Brian.Raymor@microsoft.com> Thu, 19 November 2015 05:19 UTC
Return-Path: <Brian.Raymor@microsoft.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 75BDF1A87E7 for <webpush@ietfa.amsl.com>; Wed, 18 Nov 2015 21:19:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level:
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-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 lMvDxOM3wocW for <webpush@ietfa.amsl.com>; Wed, 18 Nov 2015 21:19:18 -0800 (PST)
Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0140.outbound.protection.outlook.com [207.46.100.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D9C121A87E4 for <webpush@ietf.org>; Wed, 18 Nov 2015 21:19:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=xvLkjLH5uSvFQ/MQQw5fzkd6g/yMzrFAkGFI77ZYHr4=; b=Yu44J/yp8SMrslFBley7DLjkXa+1Z2tlP8mgqKRiLzVb6smBdJHvvd1W2Ht2U9Tloaq5zfuFE/NQdW7Tiiy59aGuiJHYDc7TqrEGoFEUkjg8zM/BJWazgqPvZJdciJTkpVXFTvxJu1zh+MLQyh76XFDps6u2gmVrRpgrqOlenuY=
Received: from BY2PR0301MB0647.namprd03.prod.outlook.com (10.160.63.14) by BY2PR0301MB0647.namprd03.prod.outlook.com (10.160.63.14) with Microsoft SMTP Server (TLS) id 15.1.325.17; Thu, 19 Nov 2015 05:19:15 +0000
Received: from BY2PR0301MB0647.namprd03.prod.outlook.com ([10.160.63.14]) by BY2PR0301MB0647.namprd03.prod.outlook.com ([10.160.63.14]) with mapi id 15.01.0325.019; Thu, 19 Nov 2015 05:19:15 +0000
From: Brian Raymor <Brian.Raymor@microsoft.com>
To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Thread-Topic: Proposed 5xx status code for WebPush
Thread-Index: AdEiKZSOTaxBoz5DQE60FwrGEiCRlw==
Date: Thu, 19 Nov 2015 05:19:15 +0000
Message-ID: <BY2PR0301MB0647D01CC525FCE54B2BD033831B0@BY2PR0301MB0647.namprd03.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Brian.Raymor@microsoft.com;
x-originating-ip: [2601:600:8000:5a8:e5b7:a59d:eae2:8193]
x-microsoft-exchange-diagnostics: 1; BY2PR0301MB0647; 5:Hs2NLVSIoG7ijVDE+Hdfz9OGdJSv8baedTRZAEBFkCx26/ZZYBtLpouki120VvNAqscHEuIkQZMmOqBgZKdJEls0t2pzyIrbaT0S7VjBRplDfZohfm+gsP5kFGbsJMR7cwms+f11cJ18cka8nlxFZg==; 24:/KZVM0uZiTHlWg+ijEonmpyL7pOmtSZcicfysa52OL7arPWGusJzO6q9lFxJpRHO63U73h+7hODODrcHlUS90ri3b4Ib1Y8jvOA5aENNfWs=; 20:2EHylANYfGPHNPLc3tj4g+HF9itZKsLC4odOfvRh6EDDTjcSioNwUCH0SnJ7atBqkyVF1gUo8hzHi92RK5k5gQ==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB0647;
x-microsoft-antispam-prvs: <BY2PR0301MB06475BDD85C1DF37B5321A04831B0@BY2PR0301MB0647.namprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(61425024)(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001)(61426024)(61427024); SRVR:BY2PR0301MB0647; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0301MB0647;
x-forefront-prvs: 07658B8EA3
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(189002)(199003)(45074003)(86612001)(2900100001)(74316001)(189998001)(87936001)(15975445007)(86362001)(5003600100002)(5001920100001)(8990500004)(5005710100001)(110136002)(102836003)(5008740100001)(11100500001)(40100003)(97736004)(5002640100001)(5004730100002)(122556002)(81156007)(5001960100002)(6116002)(54356999)(2501003)(5007970100001)(99286002)(33656002)(19580395003)(2351001)(77096005)(101416001)(10090500001)(10290500002)(229853001)(50986999)(92566002)(76576001)(10400500002)(586003)(105586002)(106356001)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR0301MB0647; H:BY2PR0301MB0647.namprd03.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Nov 2015 05:19:15.7600 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB0647
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/erXzIOYdxT3U3E_oMb7Yj3OXcl0>
Cc: "webpush@ietf.org" <webpush@ietf.org>
Subject: [Webpush] Proposed 5xx status code for WebPush
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: Thu, 19 Nov 2015 05:19:22 -0000
In WebPush (https://datatracker.ietf.org/doc/draft-ietf-webpush-protocol/), an application server can request that the push service acknowledge that it has delivered a message to a user agent. The push service indicates success (positive acknowledgement) by returning a 410 (Gone) to the application server. The push service also needs to indicate failure (negative acknowledgement) due to the following cases: 1. The user agent failed to acknowledge receipt of the message and the push service has ceased to attempt re-delivery of the message prior to its advertised expiration (TTL header field). 2. The push service expired the message prior to its advertised expiration due to operational constraints. The following approaches have been explored: 1. Reusing 404 (for positive acknowledgement) and 410 (for negative acknowledgement). 2. Use 417 (Expectation Failed) http://www.ietf.org/mail-archive/web/webpush/current/msg00351.html 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) 3. Combine 410 (Gone) with a non-zero TTL header field to indicate failure http://www.ietf.org/mail-archive/web/webpush/current/msg00352.html Maybe we can just use TTL. If it is present (and therefore non-zero) then it's an indication that the TTL hasn't run out, even though the message resource is Not Found/Gone. 4. Define a new 512 (Expired Resource) status code Issue - https://github.com/webpush-wg/webpush-protocol/issues/49 Pull request - https://github.com/webpush-wg/webpush-protocol/pull/50 Mark Nottingham commented earlier: Status codes must be potentially applicable to *all* resources, not use case specific (as this seems to be). See: http://httpwg.github.io/specs/rfc7231.html#considerations.for.new.status.codes When it is necessary to express semantics for a response that are not defined by current status codes, a new status code can be registered. Status codes are generic; they are potentially applicable to any resource, not just one particular media type, kind of resource, or application of HTTP. As such, it is preferred that new status codes be registered in a document that isn't specific to a single application. While we completely agree with Mark's assessment that this use case is specific to WebPush at this time, the sense was that this should be in the class of 5xx Server Error codes. Unfortunately, after review there were no existing codes related to this use case. We discussed the proposed status code and potential mitigations at IETF 94 and agreed to broaden the discussion to the HTTPbis mailing list. Thoughts? Does anyone else have a similar use case? ...Brian
- [Webpush] Proposed 5xx status code for WebPush Brian Raymor
- Re: [Webpush] Proposed 5xx status code for WebPush Martin Thomson
- Re: [Webpush] Proposed 5xx status code for WebPush Mark Nottingham
- Re: [Webpush] Proposed 5xx status code for WebPush c^
- Re: [Webpush] Proposed 5xx status code for WebPush Cyrus Daboo