Re: Server Push Error Codes

Mark Nottingham <> Wed, 24 August 2016 05:45 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 7F69B12D7AB for <>; Tue, 23 Aug 2016 22:45:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -7.469
X-Spam-Status: No, score=-7.469 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.548, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id LRPRLEz4NG2H for <>; Tue, 23 Aug 2016 22:45:16 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id E6D3B12D751 for <>; Tue, 23 Aug 2016 22:45:15 -0700 (PDT)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1bcQvL-0000ro-Jf for; Wed, 24 Aug 2016 05:40:27 +0000
Resent-Date: Wed, 24 Aug 2016 05:40:27 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1bcQvF-0000r2-Gf for; Wed, 24 Aug 2016 05:40:21 +0000
Received: from ([]) by with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from <>) id 1bcQvD-00039n-Rx for; Wed, 24 Aug 2016 05:40:20 +0000
Received: from [] (unknown []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 14D8022E1FA; Wed, 24 Aug 2016 01:39:55 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Mark Nottingham <>
In-Reply-To: <>
Date: Wed, 24 Aug 2016 15:39:53 +1000
Cc: HTTP Working Group <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <>
To: Martin Thomson <>
X-Mailer: Apple Mail (2.3124)
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-8.7
X-W3C-Hub-Spam-Report: AWL=0.901, BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: 1bcQvD-00039n-Rx a0cc7aaa5c9b3169b1d3fb0426ae2536
Subject: Re: Server Push Error Codes
Archived-At: <>
X-Mailing-List: <> archive/latest/32344
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

> On 24 Aug 2016, at 3:30 PM, Martin Thomson <> wrote:
> These seem mostly reasonable.
> On 24 August 2016 at 14:26, Mark Nottingham <> wrote:
> We are looking to provide solutions that make this unnecessary (absent
> outright errors), but I think that it's a good code to have.

Yeah, I'm thinking more for outright error cases; when a server is misconfigured or mis-implemented, to save the admin / dev from banging their head against the wall too much.

> This seems like it could be overly specific.  PUSH_NOT_ACCEPTABLE
> might be used to cover Accept as well as Accept-Encoding.  Unless you
> want both.

Possibly. I don't disagree with anything you say, it's just that error codes are pretty cheap, and the places that these are going to be useful are dark corner cases that are really atypical.

> For content-encoding, it seems unlikely that the server will get this
> wrong.  The server might reasonably assume that the value for
> Accept-Encoding is constant and it will usually be right.  If not,
> read on.

Except when it's not. :)

> For Accept, a server might get it wrong, but it is probably the case
> that the right machinery for determining whether a response is
> acceptable isn't engaged when the push arrives.  That usually requires
> a bunch of other context.  The same applies if Accept-Encoding isn't
> constant.

Yeah, I didn't see much value in providing CONTENT_TYPE_NOT_SUPPORTED for that reason.

More than anything with these, I'm interested in collecting stats on them, to see how prevalent these sorts of problems are. If they aren't used, that's good news.


Mark Nottingham