Subject: [Webpush] Status Code for Negative Acknowledgements #49

From: Brian Raymor <[email-masked]>
Date: Thu, 15 Oct 2015 03:15:18 +0000

For - https://github.com/webpush-wg/webpush-protocol/issues/49 - I've submitted a pull request to propose a 512 (Expired Resource) status code - https://github.com/webpush-wg/webpush-protocol/pull/50

Based on the Hypertext Transfer Protocol (HTTP) Status Code Registry -  http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml - 509 is the next unassigned 5XX status code, but there may be a conflict with unregistered use of 509:

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_Server_Error

  509 Bandwidth Limit Exceeded (Apache bw/limited extension)
  This status code is not specified in any RFCs. Its use is unknown.

510 and 511 are registered, skipping 509 which suggests an earlier attempt to avoid potential conflicts. 

...Brian

---

From: Mark Nottingham <[email-masked]>
Date: Thu, 15 Oct 2015 14:30:30 +1100

[BCC'ing the HTTP WG]

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

I'm especially concerned about suggestions in the issue to allocate "a range of status codes" for this purpose. 

I strongly suspect you don't need a status code, in that the semantics you're surfacing don't need to be available to HTTP implementations (e.g., generic servers and clients, intermediaries, caches). You have a very constrained use case and control over the payload; why can't this be a header or part of the body?

Cheers,

> On 15 Oct 2015, at 2:15 pm, Brian Raymor <[email-masked]> wrote:
> 
> 
> _______________________________________________
> Webpush mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/webpush

--
Mark Nottingham   https://www.mnot.net/

---

From: Brian Raymor <[email-masked]>
Date: Thu, 15 Oct 2015 04:45:01 +0000

> status codes" for this purpose.

Let me clarify. There are two issues:

https://github.com/webpush-wg/webpush-protocol/issues/49 (Status Code for Negative Acknowledgements) is related to the proposal for the 512 status code under discussion.

https://github.com/webpush-wg/webpush-protocol/issues/42 (Acknowledgement 'status codes') is the source of the confusion about "a range of status codes"? I completely agree that the title (even with those single quotes) is misleading. The intent is to NOT use HTTP status codes to return information for this scenario. If developed further, it will probably need to be a header field since it's passed in a DELETE. (It's closer in nature to the opaque diagnostic data that can be included in a HTTP/2 GOAWAY.) I've clarified the title and text in the issue to reflect our true intentions.

---

From: Mark Nottingham <[email-masked]>
Date: Thu, 15 Oct 2015 18:20:50 +1100

Thanks, Brian. The re-statement of #42 is a relief; however, it sounds like there still needs to be some discussion around #49.

Cheers,

> On 15 Oct 2015, at 3:45 pm, Brian Raymor <[email-masked]> wrote:
> 
>