Re: Adoption of Prefer-Push as an experimental submission

Hi Lucas,

On 2020-05-05 9:41 p.m., Lucas Pardue wrote:
> Hey Evert,
>
> On Wed, May 6, 2020 at 1:16 AM Evert Pot <me@evertpot.com
> <mailto:me@evertpot.com>> wrote:
>
>     Dear working group,
>
>     Some time ago, I submitted the following draft:
>     https://tools.ietf.org/html/draft-pot-prefer-push
>
>     The document describes a means for a HTTP client to indicate a list of
>     linked resources they might want to receive via HTTP2 Push, through
>     their relation type.
>
>     I was curious if there is a chance that the HTTP working group might
>     want to adopt this document as an experimental specification
>
>     We have deployed systems with this feature and some success. A public
>     client implementation can also be found here:
>
>     https://github.com/badgateway/ketting
>
>     Regards,
>     Evert
>
>
> Reading the draft again, for someone not super familiar with the
> problem area it doesn't leap of the page to me how this really
> benefits the use cases. However, you've reminded me of Asbjørn
> Ulsberg's presentation at the HTTP Workshop 2019 [1] that gave a good
> overview of things. There was some chatter in the room and Daniel's
> notes [2] indicate there some alternative suggestions made but I can't
> recall what they were.
>
> Any specification that uses a client signal to inform a server of what
> to push has a resemblence to Cache Digests, which has a sad fate [3].
> Note too that it had an intended status of experimental. Therefore,
> IMO, it is due diligence to compare prefer-push to cache digests and
> understand how it differs both technically and in terms of
> implementation interest.
>
I was very sad to see Cache Digest go too. Prefer-Push is complimentary
to Cache Digest, as that draft informed the server of the state of the
cache, but not /which/ resources they would like pushed. With Cache
Digest alone, the server would still have to guess which resources the
client needs.

This makes more sense for traditional browser applications where you can
reasonably assume that user will need all related images, scripts,
styles and fonts.

I'm hoping to see Cache Digest come back one day, a combo of Cache
Digest and Prefer Push means that a client (such as an API consumer) can
tell exactly what relationships are interesting, and a server can filter
this further by not pushing anything that the client has an up-to-date
copy of.

I will update the draft to include a comparison to Cache Digests.

If it helps, I also wrote a bit about Prefer Push in this article:

https://evertpot.com/h2-parallelism/

Evert

Received on Tuesday, 12 May 2020 19:40:26 UTC